资源描述:
《matlab数字信号处理作业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Matlab数字信号处理实验第1次作业院系:理学院2010级电子信息科学与技术学号:2010142112姓名:李家宁1、阅读例子程序,观察输出波形,理解每条语句的含义。程序1:clearall;closeall;clc;%清除原所有变量,关闭窗口,对命令窗口请屏n=0:9;x=(0.8).^n;%设定函数X=fft(x,4096);%将信号做FFT运算Xk1=DFT(n,x,10);Xk2=DFT(n,x,20);%分别将学x(n)做DTT运算subplot(211),plot((0:4095)/4095*10
2、,abs(X));%画图排列holdon;%前轴及图形保持而不被刷新stem(0:9,abs(Xk1),'LineWidth',2);%画火柴柱形legend('x(n)的幅频特性','x(n)的10点DFT的幅度');%画Xk1的频谱、幅度谱xlabel('k');axis([-111-15]);grid;%横坐标的位置subplot(212),plot((0:4095)/4095*20,abs(X));holdon;画图排列stem(0:19,abs(Xk2),'LineWidth',2);%画火柴柱形le
3、gend('x(n)的幅频特性','x(n)的20点DFT的幅度');%画Xk1的频谱、幅度谱xlabel('k');axis([-121-15]);grid;%横坐标的位置set(gcf,'color','w');%颜色设定程序2:xn=[0,1,2,3,4,5,6,7];%设定n的取值N=length(xn);%将N设定为n取值总长度n=0:N-1;k=0:N-1;%设定n的变化范围Xk=xn*exp(-j*2*pi/N).^(n'*k);%离散傅里叶变换x=(Xk*exp(j*2*pi/N).^(n'*k
4、))/N;%离散傅里叶逆变换subplot(2,2,1),stem(n,xn,'k');%画x(n)的频谱图形title('x(n)');axis([-1,N,1.1*min(xn),1.1*max(xn)]);%设定标题和横坐标的取值subplot(2,2,2),stem(n,abs(x),'k');%显示逆变换结果title('IDFT
5、X(k)
6、');%将幅度谱命名axis([-1,N,1.1*min(x),1.1*max(x)]);%设定横坐标的范围subplot(2,2,3),stem(k,abs(X
7、k),'k');%显示序列的幅度谱title('
8、X(k)
9、');%将幅度谱命名axis([-1,N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]);设定纵坐标的范围subplot(2,2,4),stem(k,angle(Xk),'k');%显示序列的相位谱title('arg
10、X(k)
11、');将相位谱命名axis([-1,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);将相位谱横坐标范围程序3:xn=[0,1,2,3,4,5,6,7];%设定n的取值
12、N=length(xn);%将N设定为n取值总长度n=0:4*N-1;k=0:4*N-1;%设定n的变化范围xn1=xn(mod(n,N)+1);%xn1=[xn,xn,xn,xn];Xk=xn1*exp(-j*2*pi/N).^(n'*k);%离散傅里叶变换subplot(2,2,1),stem(xn,'k');%显示序列主值title('原主值信号x(n)');%将原信号命名subplot(2,2,2),stem(n,xn1,'k');%显示周期序列title('周期序列信号');%将周期号命名axis([
13、-1,4*N,1.1*min(xn1),1.1*max(xn1)]);设定横坐标的范围subplot(2,2,3),stem(k,abs(Xk),'k');%显示序列的幅度谱title('
14、X(k)
15、');%将幅度谱命名axis([-1,4*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]);设定纵坐标的范围subplot(2,2,4),stem(k,angle(Xk),'k');%显示序列的相位谱title('arg
16、X(k)
17、');%将相位谱命名axis([-1,4*N,1.1*mi
18、n(angle(Xk)),1.1*max(angle(Xk))]);设定纵坐标的范围程序4:xn=[0,1,2,3,4,5,6,7];%设定n的取值N=length(xn);%将N设定为n取值总长度n=0:N-1;%设定n的变化范围w=linspace(-2*pi,2*pi,500);%将[-2π,2π]区间分割为500份X=xn*exp(-j*n'*w);%离散时间傅里叶变换subp