数字信号处理Matlab练习第三章-080802084朱桂香

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.编写一个Matlab程序,用一个N点的复数离散傅里叶变换计算两个长度为N的实数序列的N点离散傅里叶变换,并将结果同直接使用两个N点离散傅里叶变换得到的结果进行比较。n=0:11;%设定n的范围x1=cos(pi/6.*n);%给定序列x1[n]x2=(4/5).^n;%给定序列x2[n]w1=x1+1i*x2;%由序列x1[n]和x2[n]组成复数序列w1[n]w2=x1-1i*x2;%序列w1[n]的共轭序列w2[n]figure,subplot(2,1,1),stem(n,x1);%指定位置1,绘制序列x1[n]xlabel('n');%设定序列x1[n]的横轴标注和纵轴标注ylabel('x1[n]');subplot(2,1,2),stem(n,x2);%指定位置2,绘制序列x2[n]xlabel('n');%设定序列x2[n]的横轴标注和纵轴标注ylabel('x2[n]');figure,subplot(4,1,1),stem(abs(w1));%指定位置1,绘制序列w1[n]幅度谱xlabel('n');%设定横轴标注,纵轴标注和标题ylabel('magnitude');title('W1的幅度谱');subplot(4,1,2),stem(angle(w1));%指定位置2,绘制序列w1[n]相位谱xlabel('n');%设定横轴标注,纵轴标注和标题ylabel('phase');title('W1的相位谱');subplot(4,1,3),stem(abs(w2));%指定位置3,绘制序列w2[n]幅度谱xlabel('n');%设定横轴标注,纵轴标注和标题ylabel('magnitude');title('W2的幅度谱');subplot(4,1,4),stem(angle(w2));%指定位置4,绘制序列w2[n]相位谱xlabel('n');%设定横轴标注,纵轴标注和标题ylabel('phase');title('W2的相位谱');X1=fft(x1);%求序列x1[n]的离散傅里叶变换X1(k)X2=fft(x2);%求序列x2[n]的离散傅里叶变换X2(k)W1=fft(w1);%求序列w1[n]的离散傅里叶变换W1(k)W2=fft(w2);%求序列w2[n]的离散傅里叶变换W2(k)Y1=(1/2)*(W1+W2);%由W1(k)和W2(k)来求X1(k)Y2=(1/(2*1i))*(W1-W2);%由W1(k)和W2(k)来求X2(k)figure,subplot(2,1,1),stem(abs(X1));%指定位置1,绘制|X1(k)|xlabel('k');%设定横轴标注和纵轴标注ylabel('|X1(k)|');subplot(2,1,2),stem(abs(Y1));%指定位置2,绘制|Y1(k)|xlabel('k');%设定横轴标注和纵轴标注ylabel('|Y1(k)|');figure,subplot(2,1,1),stem(abs(X2));%指定位置1,绘制|X2(k)|xlabel('k');%设定横轴标注和纵轴标注ylabel('|X2(k)|');subplot(2,1,2),stem(abs(Y2));%指定位置2,绘制|Y2(k)|xlabel('k');%设定横轴标注和纵轴标注ylabel('|Y2(k)|');结果图:024681012-1-0.500.51nx1[n]02468101200.51nx2[n]图1序列x1[n]和x2[n]024681012012nmagnitudeW1的幅度谱024681012024nphaseW1的相位谱024681012012nmagnitudeW2的幅度谱024681012-4-20nphaseW2的相位谱图2w1和w2的幅度谱和相位谱图0246810120246k|X1(k)|0246810120246k|Y1(k)|图3两种计算X1(k)的方法比较0246810120246k|X2(k)|0246810120246k|Y2(k)|图4两种计算X2(k)的方法比较2.编写一个Matlab程序,用两个N点的复数离散傅里叶变换计算一个长度为2N的实数序列的2N点离散傅里叶变换,并将结果同直接使用一个2N点离散傅里叶变换得到的结果进行比较。代码:N=6;%给定N的值n=0:2*N-1;%设定n的范围x=cos(pi/6.*n);%给定序列x[n]m=0:N-1;%设定m的范围x1=cos(pi/6.*(2*m));%取n为偶数时x[n]的值组成序列x1[n]x2=cos(pi/6.*(2*m+1));%取n为奇数时x[n]的值组成序列x2[n]figure,subplot(3,1,1),stem(n,x);%指定位置1,绘制序列x[n]xlabel('n');%设定序列x[n]的横轴标注和纵轴标注ylabel('x');subplot(3,1,2),stem(m,x1);%指定位置2,绘制序列x1[n]xlabel('m');%设定序列x1[n]的横轴标注和纵轴标注ylabel('x1');subplot(3,1,3),stem(m,x2);%指定位置3,绘制序列x2[n]xlabel('m');%设定序列x2[n]的横轴标注和纵轴标注ylabel('x2');k1=0:N-1;%设定k1的范围k2=0:N-1;%设定k2的范围X1=fft(x1);%求序列x1[n]的离散傅里叶变换X2=fft(x2);%求序列x2[n]的离散傅里叶变换figure,subplot(2,1,1),stem(k1,X1);%指定位置1,绘制X1(k)xlabel('k1');%设定X1(k)的横轴标注和纵轴标注ylabel('X1');subplot(2,1,2),stem(k2,X2);%指定位置2,绘制X2(k)xlabel('k2');%设定X2(k)的横轴标注和纵轴标注ylabel('X2');W=exp(-1i*pi/N).^k2;%给定W的值Y=X1+X2.*W;%给定YX=fft(x);%求序列x[n]的离散傅里叶变换k=0:2*N-1;%设定k的范围figure,subplot(2,1,1),stem(k,X);%指定位置1,绘制X(k)xlabel('k');%设定X(k)的横轴标注和纵轴标注ylabel('X');title('2N点离散傅里叶变换结果')%设定X(k)的标题subplot(2,1,2),stem(k1,Y);%指定位置2,绘制Y(k)xlabel('k1');%设定Y(k)的横轴标注和纵轴标注ylabel('Y');title('由两个N点离散傅里叶变换得到的结果')%设定Y(k)的标题结果图:024681012-101nx00.511.522.533.544.55-101mx100.511.522.533.544.55-101mx2图1序列x[n],x1[n],x2[n]00.511.522.533.544.55-10123k1X100.511.522.533.544.55-10123k2X2图2序列x1[n]和x2[n]的离散傅里叶变换X1(k)和X2(k)024681012-20246kX2N点离散傅里叶变换结果00.511.522.533.544.55-20246k1Y由两个N点离散傅里叶变换得到的结果图3两种傅里叶变换结果比较

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功