M-point moving average filter MATLAB Program

MATLAB Program for M-point moving average filter

Hi friends, today we are going to learn a how to write a MATLAB program for m point moving averagr filter.

Steps for writing M-point moving average filter program in MATLAB:

1)    Take a given signal 2n*(0.9)^n and denote it by s(n).

2)    Then generate a random noise signal having same length (50) as that of s(n) and denote it by d.

3)    Then add s+d and save it in p, i.e. p=s+d.

4)    We know that the formula for m point moving average filter is given by

1

5)    To determine summation use one for loop.

6)    Finally divide summation by M, you will get original signal.

The MATLAB program:

clc;

clear all;

close all;

n=1:50;

s(n)=2*n.*(0.9).^n;

subplot(2,2,1)

stem(s)

xlabel(‘Original signal’)

d=rand(1,50);

subplot (2,2,2)

stem(d)

xlabel(‘Noise signal’)

p=s+d;

subplot (2,2,3)

stem(p)

xlabel(‘Corrupted Signal’)

m=100;

xu=0;

for i=1:m

d=rand(1,50);

x=s+d;

xu=xu+x;

end

xu=xu/m;

subplot(2,2,4)

stem(xu)

xlabel(‘Output signal’)

OUTPUT of M-Point moving average filter :

m point moving average filter
m point moving average filter

You may also like:

Tags: MATLAB program for M point moving average filter.

Representation of basic discrete time signal using MATLAB

Representation of basic discrete time signal using MATLAB:

Hi friends, today we are going to discuss about discrete time signals and how to plot graphs of different discrete time signals such as step signal, ramp signal, impulse function, exponential, sine and cosine signals using MATLAB.

Before going towards actual programming part, let us recall the definition of discrete time signal.

“In discrete time signal the value of signal is specified only at specific time. So signal represented at “discrete interval of time” is called as discrete time signal.”

MATLAB Program:

clc;

clear all;

close all;

x=[0:15];

for i=1:16

y(i)=1;

end

subplot(2,3,1)

stem(x,y)

title(‘Discrete time Step Function’)

xlabel(‘Samples’)

ylabel(‘Step function’)

for i=1:16

y(i)=x(i);

end

subplot(2,3,2)

stem(x,y)

title(‘Discrete time Ramp Function’)

xlabel(‘Samples’)

ylabel(‘Ramp signal’)

y=[zeros(1,4),1,zeros(1,11)];

subplot(2,3,3)

stem(x,y)

title(‘Discrete time Impulse Function’)

xlabel(‘Samples’)

ylabel(‘Impulse function’)

for i=1:16

y(i)=exp(-0.22*i);

end

subplot(2,3,4)

stem(x,y)

title(‘Discrete time Exponential Function’)

xlabel(‘Samples’)

ylabel(‘Exponential function’)

z=[1:35]

for i=1:35

y(i)=sin(2*pi*0.1*i)

end

subplot(2,3,5)

stem(z,y)

title(‘Discrete time Sine Function’)

xlabel(‘Samples’)

ylabel(‘Sine function’)

z=[1:35]

for i=1:35

y(i)=cos(2*pi*0.1*i)

end

subplot(2,3,6)

stem(z,y)

title(‘Discrete time Cosine Function’)

xlabel(‘Samples’)

ylabel(‘Cosine function’)

Explanation:

  • Representation of discrete time step function:

x=[0:15];

for i=1:16

y(i)=1;

end

subplot(2,3,1)

stem(x,y)

title(‘Discrete time Step Function’)

xlabel(‘Samples’)

ylabel(‘Step function’)

For representing discrete time step function, let us consider x-axis represents number of samples and y-axis represents corresponding values of signal. Here we use two matrix x and y. x=[0:15] represents matrix ‘x’ contains 16 elements from 0 to 15. Then we used one for loop from 1:16 (16 times) in which we define matrix y, which stores ‘1’ entire the matrix. Then we give command subplot(2,3,1). Here we used subplot command because we want all the basic signals on a single display. (2,3,1) represents there are 2 rows and 3 columns of graphs (it means 2*3=6 graphs are possible) 1 indicates that we want this graph at first position.

As we know for continuous signal plotting we use plot command but for discrete time signal we have to use stem command.

  • Similarly for discrete time ramp signal we use y(i)=x(i) keeping all the program same.
  • For impulse function we use y=[zeros(1,4),1,zeros(1,11)] that means first 4 elements of the matrix are ‘0(zeros)’ 5th element is ‘1’ and from 6th to 16th it is again ‘0’. Thus y becomes 16 element matrix. Thus we can plot graph of impulse function using matlab.
  • For exponential signal we have used exp(-0.22*i). Here negative sign indicates that the nature of exponential signal is decreasing. But if you remove the negative sign it will become simple increasing exponential signal.
  • Similarly we can plot discrete time sine and cosine functions using MATLAB

MATLAB Program:

MATLAB program for representation of basic discrete time signals 1 MATLAB program for representation of basic discrete time signals 2

basic_signals_graphs
basic_signals_graphs

You may also like:

Tags: MATLAB code for representing discrete time signals. How to plot a discrete time signal in MATLAB.