数字信号实验报告.doc
67页数字信号处理实验报告 专 业: 姓 名: 学 号: 指导教师: 实验一 序列、频谱、卷积一、 实验目的1. 掌握序列的输入方法;2. 熟悉不同序列的特征;3. 了解确定性信号谱分析的方法;4. 验证卷积的计算过程;二、 实验要求1. 利用matlab程序,生成几种常用的序列,如矩形序列,单位脉冲序列;2. 绘制图形,观察序列特征;3. 研究其频率特性,绘制图形,观察频率响应特征;4. 利用matlab程序,验证卷积的过程;三、 实验步骤1. 矩形序列(1)生成长度为N的矩形序列,观察并记录生成的图形;n=1:50x=sign(sign(10-n)+1);close all;subplot(3,1,1);stem(x);title('单位矩形信号序列');(2)研究其频率特性,,分别研究其幅频特性和相频特性,观察并记录生成的图形;k=-25:25;X=x*(exp(-j*pi/25)).^(n'*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('单位矩形信号的幅度谱');angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title ('单位矩形信号的相位谱')答:根据以上两个源程序得到的图形如下图1.1:图1.1分析:幅度谱可以发现其幅度呈偶对称,而相位谱与幅度普均为离散信号。
其频率特性就是通过傅里叶变换得来的,是用频率信息表示时域信息,与连续信号的相同的矩形函数的频率特性对应,只不过一个是离散的一个是连续的2. 单位脉冲序列(1) 生成单位脉冲序列,观察并记录生成的图形;n=1:50; %定义序列的长度是50x=zeros(1,50); %注意:MATLAB中数组下标从1开始x(1)=1;close all;subplot(3,1,1);stem(x);title('单位冲击信号序列');(2) 研究其频率特性,,分别研究其幅频特性和相频特性,观察并记录生成的图形;k=-25:25;X=x*(exp(-j*pi/12.5)).^(n'*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('单位冲击信号的幅度谱');angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title ('单位冲击信号的相位谱')答:根据以上两个源程序得到的图形如下图1.2:图1.2分析:由上图观察单位冲激信号的频率响应可知,其幅度谱为矩形函数,相位谱呈奇对称。
与连续的冲激响应对应,只是这里是有限序列3. 卷积过程,n=1:50; %定义序列的长度是50hb=zeros(1,50); %注意:MATLAB中数组下标从1开始hb(1)=1;hb(2)=2.5;hb(3)=2.5;hb(4)=1;close all;subplot(3,1,1);stem(hb);title('系统hb[n]');m=1:50; %定义序列的长度是50A=444.128; %设置信号有关的参数a=50*sqrt(2.0)*pi;T=0.001; %采样率w0=50*sqrt(2.0)*pi;x=A*exp(-a*m*T).*sin(w0*m*T); subplot(3,1,2);stem(x);title('输入信号x[n]');y=conv(x,hb); subplot(3,1,3);stem(y);title('输出信号y[n]');答:根据以上两个源程序得到的图形如下图1.3:图1.3分析:离散信号的卷积为相对移动然后累计相加,所以卷积的结果最高可达到1000.四、 思考:1. 如何生成实指数序列?写出对应的matlab程序;答:(1)程序如下所示:a1=2n=1:50x1=(a1.^n)subplot(1,1,1)stem(x1);title('实指数序列')(2) 所得图形如下图1.4所示:2. 编写程序验证卷积定律。
答:编写的源程序如下:x=[1 2 0 3 1];%原序列y=[1 2 0 3 1];%直接得到结果z=conv(x,y);figure(1),subplot(311),stem(x),title('直接法x的序列');axis([1 9 0 4]);subplot(312),stem(y),title('直接法y的序列');axis([1 9 0 4]);subplot(313),stem(z),title('直接法得到的卷积z的序列');axis([1 9 0 20]);%FFTN=10;x1=[x zeros(1,N-length(x))];y1=[y zeros(1,N-length(y))];X1=fft(x1);Y1=fft(y1);Z1=X1.*Y1;z1=ifft(Z1);figure(2),subplot(321),stem(x1),title('x序列');subplot(322),stem(real(X1)),title('FFT法的傅里叶变换实部x');subplot(323),stem(y1),title('y序列');subplot(324),stem(real(Y1)),title('FFT法的傅里叶变换实部y');subplot(325),stem(z1),title('z序列');subplot(326),stem(real(Z1)),title('傅里叶变换后相乘结果z');N=6;x2=[x zeros(1,N-length(x))];y2=[y zeros(1,N-length(y))];X2=fft(x2);Y2=fft(y2);Z2=X2.*Y2;z2=ifft(Z2);figure(3),subplot(321),stem(x1),title('x序列2');subplot(322),stem(real(X1)),title('FFT法的傅里叶变换实部x2');subplot(323),stem(y1),title('y序列2');subplot(324),stem(real(Y1)),title('FFT法的傅里叶变换实部y2');subplot(325),stem(z1),title('z序列');subplot(326),stem(real(Z1)),title('傅里叶变换后相乘结果z2'); 得到验证如下图1.4至1.6:图1.4图1.5图1.6分析:观察以上三个图可以发现验证了卷积定理,即时域的卷积等于频域的相乘算式为f(t)*h(t)=F(jw)H(jw)。
与直接用MATLAB内部卷积函数得到的结果也一样,并且对比图1.5和1.6可知快速傅里叶变换所用的点数的多少不影响卷积的结果实验二 基2-FFT算法编程一、 实验目的1. 掌握离散傅立叶变换的原理;2. 熟悉基2-FFT算法流程,学会编写算法程序;3. 认识到基2-FFT算法对离散傅立叶运算的速度提高的重要性;二、 实验要求1. 自己编写FFT算法程序;2. 调试算法程序;3. 测试采用FFT算法后,运算量和运算时间的减少量;三、 实验步骤1. 编写matlab程序,完成输入倒位序,输出自然顺序,按照时间抽选的基2-FFT算法程序的编写;答:算法源程序如下:clc;close all;format compact;xn=[1,2,3,4,5,6,7]; %可取任意序列M=nextpow2(length(xn));N=2^M;for m=0:N/2-1; % 旋转因子指数范围 WN(m+1)=exp(-j*2*pi/N)^m; %计算旋转因子endA=[xn,zeros(1,N-length(xn))];%数据输入disp('输入到各存储单元的数据:'),disp(A) %数据倒序操作J=0;%给倒序数赋初值for I=0:N-1;%按序交换数据和算倒序数 if I

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


