当前位置:文档之家› matlab-离散信号傅里叶变换【精品毕设、无需降重】

matlab-离散信号傅里叶变换【精品毕设、无需降重】

matlab-离散信号傅里叶变换【精品毕设、无需降重】
matlab-离散信号傅里叶变换【精品毕设、无需降重】

1.请用MATLAB编写程序,实现任意两个有限长度序列的卷积和。要求用图

形显示两个序列及卷积结果。

解:y(n)=∑x(i)h(n-i)

假设x(n)={1,2,3,4,5}; h(n)={3,6,7,2,1,6}; y(n)=x(n)*h(n)

验证:y[n]=[1,12,28,46,65,72,58,32,29,30]

【程序】

N=5

M=6

L=N+M-1

x=[1,2,3,4,5]

h=[3,6,7,2,1,6]

y=conv(x,h)

nx=0:N-1

nh=0:M-1

ny=0:L-1

subplot(131);stem(nx,x,'*b');xlabel('n');ylabel('x(n)');grid on

subplot(132);stem(nh,h,'*b');xlabel('n');ylabel('h(h)');grid on

subplot(133);stem(ny,y,'*r');xlabel('n');ylabel('y(h)');grid on

【运行结果】

2.已知两个序列x[n]=cos(n*pi/2), y[n]=e j*pi*n/4x[n],请编写程序绘制

X(e jw)和Y(e jw)和幅度和相角,说明它们的频移关系。

–提示:用abs函数求幅度,用angle求相角。

【程序】

n=0:15;

x=cos(n*pi/2);

y=exp(j*pi*n/4).*x;

X=fft(x);

Y=fft(y);

magX=abs(X);

angX=angle(X);

magY=abs(Y);

angY=angle(Y);

subplot(221);stem(n,magX,'*r');xlabel('频率');ylabel('幅度');grid on;

subplot(222);stem(n,angX,'*b');xlabel('频率');ylabel('相位');grid on;

subplot(223);stem(n,magY,'*r');xlabel('频率');ylabel('幅度');grid on;

subplot(224);stem(n,angY,'*b');xlabel('频率');ylabel('相位');grid on;

【运行结果】

【遇到的问题】

只有当n=15时幅度值才相等,n取其他值,幅度值有差异。【平移关系】

根据运行图示:

它们的幅度值一样,频率相差2个单位。

相关主题
相关文档 最新文档