Decimation/Down sampling MATLAB source code

This section of MATLAB source code covers decimation or down sampling matlab code. It covers basics of decimation/down sampling.

Decimation refers to removing samples in between the existing vector of values. By doing so sample rate of the signal or vector will decrease hence it is referred as down sampling the signal.

Setting up exponential vector to be down sampled

%Setting up exponential signal vector to be down sampled 
clc;
clear all;
N=input('Enter length of the output sequence:');
M=input('Enter down sampling factor:');
a=input('Enter the value of base of exponent function:');
n=0:N-1;
m=0:N*M-1;
x=a.^m;

Downsampling the exponential vector

% Generate the downsampled signal
y=x([1:M:length(x)]);
figure,stem(n,x(1:N));xlabel({'Samples in time';'(a)'});ylabel('magnitude');title('Decimator input');
figure,stem(n,y);xlabel({'Samples in time';'(b)'});ylabel('magnitude');title('down sampled output');

Downsampling using decimate matlab function

% Generate the downsampled signal using decimate function
y=decimate(x,M,'fir');
m=0:N/M-1;
figure,stem(m,y(1:N/M));title('MATLAB decimate function output');xlabel('Time');ylabel('magnitude');

Input and Output

decimation input
decimation exponential input
downsampled output
downsampled output matlab function

Useful Links to MATLAB codes

Refer following as well as links mentioned on left side panel for useful MATLAB codes.
OFDM Preamble generation  Time off estimation corr  Freq off estimation corr  channel estimation  11a WLAN channel  PN sequence generation  OFDMA Tx Rx  AES DES  carrier aggregation  CCDF  FIR Filter  IIR Filter  Low Pass FIR  Viterbi decoder  CRC8 CRC32 

RF and Wireless tutorials

WLAN  802.11ac  802.11ad  wimax  Zigbee  z-wave  GSM  LTE  UMTS  Bluetooth  UWB  IoT  satellite  Antenna  RADAR