Filtering After Unsampling in MATLAB Interpolation Last Updated : 08 Dec, 2022 Comments Improve Suggest changes Like Article Like Report Upsampling with filtering gives the interpolated signal. The Upsampling process just adds zero-valued samples to the given input signal. There is no practical significance of zero-valued samples to obtain interpolated signals. Indeed these zero-valued samples should be converted into their approximate values based on previous and future samples present in the input signal. The work of conversion of zero-valued samples to approximate magnitude samples is being done by filtering. So filtering is an important step to obtain Interpolated signal after Upsampling. Example: Matlab % MATLAB code to perform filtering % and obtaining Interpolated signal: % filtfilt command provides zero-phase digital % filtering by processing input data x % in both forward and reverse directions Syntax: y=filtfilt(b,a,x); % b,a specifies the filter order % x is input data % taking sampling frequency as input and % storing in fs variable fs=input('enter sampling frequency'); % taking frequency of the signal as % input and storing in f f=input('enter frequency of signal'); % taking interpolation factor I as input % and storing it in L L=input('enter interpolation factor'); %defining time-axis t=0:1/fs:1; % generating a sinusoidal signal with % a given frequency and time-axis tf x=sin(2*pi*f*t); % storing length of axis x in N N=length(x); % taking another axis ranging from 0 to N-1 n=0:N-1; % taking another axis ranging from 0 to N*L-1 m=0:(N*L)-1; % creating zeros in axis of length L*N and storing it in x1 x1=zeros(1,L*N); % taking another axis with a interpolation % factor L from 0 to increasing with a factor L and upto N*L j=1:L:N*L; % taking j values into x1 from x x1(j)=x; % creating a window-based finite inpulse response filter design % Syntax: b = fir1(n,Wn,'ftype') % n is number of samples ranging from 0 to N-1, % Wn is normalized frequency ranging from 0 to 1, % 'ftype' specifies a filter type f1=fir1(34,0.48,'low'); % filtfilt command provides zero-phase digital filtering % by processing input data x in both forward and reverse directions % Syntax: y=filtfilt(b,a,x); % b,a specifies the filter order % x is input data output=2*filtfilt(f1,1,x1); % Syntax: y=interp(x,r); % the above command specifies increasing the sampling % rate of signal x by a factor of r. y=interp(x,L); % subplot command in MATLAB allows you to insert % multiple plots in a grid where all plots are specified in same grid subplot(2,1,1); % stem command is to plot discrete signal stem(n,x); % xlabel shows name of x axis in a plot xlabel('samples'); % ylabel shows name of y axis in a plot ylabel('amplitude'); % title is shown at the top of figure % title is usually used to specify the name of your figure title('Input signal'); subplot(2,1,2); stem(m,output); % axis command specifies the limit of current axis axis ([0 200 -1 1]); xlabel('samples'); ylabel('amplitude'); %Interpolated signal or Filtered signal title('Interpolated signal'); Output: Comment More infoAdvertise with us Next Article Double Interpolation using Lookup Tables in MATLAB A abdulmalikpasha Follow Improve Article Tags : Software Engineering Similar Reads Cubic Spline Data Interpolation in MATLAB Cubic spline interpolation is a type of interpolation in which data of degree 3 or less is interpolated. Refer to this article to understand the proper theoretical concept of Cubic Spline Interpolation. Now we will look at how to perform cubic spline interpolation in MATLAB.  MATLAB provides a simpl 1 min read 2D Array Interpolation in MATLAB In this article, we are going to discuss "2D Array Interpolation" in MATLAB with the help of two linspace() and interp2() functions. Functions Usedlinspace( ) The linspace() function is used for the generation linearly spaced vector. Syntax: linspace(a, b) linspace(a, b, n) Here, linspace(a, b) is 4 min read Nearest-Neighbor Interpolation Algorithm in MATLAB Nearest neighbor interpolation is a type of interpolation. This method simply determines the "nearest" neighboring pixel and assumes its intensity value, as opposed to calculating an average value using some weighting criteria or producing an intermediate value based on intricate rules. Interpolatio 3 min read Double Interpolation using Lookup Tables in MATLAB Double interpolation using lookup tables in MATLAB allows for efficient and accurate interpolation of data. This technique is useful when working with large datasets, as it can greatly reduce the amount of computation required to find interpolated values. To perform double interpolation using lookup 3 min read Interpolation in MATLAB Upsampling can be defined as a process that comprises adding zero-valued samples in between existing original samples in order to increase the sampling rate. Upsampling is also called zero-stuffing. Interpolation:Upsampling with Filtering is called Interpolation. Upsampling adds zero-valued samples 3 min read Upsampling in Frequency Domain in MATLAB Upsampling" is the process of inserting zero-valued samples between original samples to increase the sampling rate. (This is called "zero-stuffing".) Upsampling adds to the original signal undesired spectral images which are centered on multiples of the original sampling rate. In Frequency domain , 4 min read Like