数字信号处理 实验报告
数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对时域采样定理的理解。
2、熟悉离散信号和系统的时域特性。
3、熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。
4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号、系统及其系统响应进行频域分析。
二、 实验原理1.理想采样序列:对信号x a (t)=A e −αt sin(Ω0t )u(t)进行理想采样,可以得到一个理想的采样信号序列x a (t)=A e −αt sin(Ω0nT ),0≤n ≤50,其中A 为幅度因子,α是衰减因子,Ω0是频率,T 是采样周期。
2.对一个连续时间信号x a (t)进行理想采样可以表示为该信号与一个周期冲激脉冲的乘积,即x ̂a (t)= x a (t)M(t),其中x ̂a (t)是连续信号x a (t)的理想采样;M(t)是周期冲激M(t)=∑δ+∞−∞(t-nT)=1T ∑e jm Ωs t +∞−∞,其中T 为采样周期,Ωs =2π/T 是采样角频率。
信号理想采样的傅里叶变换为X ̂a (j Ω)=1T ∑X a +∞−∞[j(Ω−k Ωs )],由此式可知:信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期为Ωs =2π/T 。
根据时域采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混叠现象。
三、简明步骤产生理想采样信号序列x a (n),使A=444.128,α=50√2π,Ω0=50√2π。
(1) 首先选用采样频率为1000HZ ,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;(2) 改变采样频率为300HZ ,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3) 进一步减小采样频率为200HZ ,T=1/200,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
数字信号处理实验报告_五个实验

实验一 信号、系统及系统响应一、 实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;2、熟悉时域离散系统的时域特性;3、利用卷积方法观察分析系统的时域特性;4、掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号、离散信号及系统响应进行频域分析。
二、 实验原理及方法采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z 变换和序列傅立叶变换之间关系式的理解。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t xx aa=其中)(^t x a 为)(t x a 的理想采样,p(t)为周期脉冲,即∑∞-∞=-=m nT t t p )()(δ)(^t x a的傅立叶变换为)]([1)(^s m a m j X T j a XΩ-Ω=Ω∑∞-∞=上式表明^)(Ωj Xa为)(Ωj Xa的周期延拓。
其延拓周期为采样角频率(T /2π=Ω)。
只有满足采样定理时,才不会发生频率混叠失真。
在实验时可以用序列的傅立叶变换来计算^)(Ωj X a 。
公式如下:Tw jw ae X j X Ω==Ω|)()(^离散信号和系统在时域均可用序列来表示。
为了在实验中观察分析各种序列的频域特性,通常对)(jw e X 在[0,2π]上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n),有:n jw N n jw k ke m x eX--=∑=)()(1其中,k Mk πω2=,k=0,1,……M-1 时域离散线性非移变系统的输入/输出关系为 ∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(上述卷积运算也可在频域实现)()()(ωωωj j j e H e X eY =三、 实验程序s=yesinput(Please Select The Step Of Experiment:\n 一.(1时域采样序列分析 s=str2num(s); close all;Xb=impseq(0,0,1); Ha=stepseq(1,1,10);Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.2*impseq(2,0,3)+impseq(3,0,3); i=0;while(s);%时域采样序列分析 if(s==1) l=1; k=0;while(1)if(k==0)A=yesinput('please input the Amplitude:\n',...444.128,[100,1000]); a=yesinput('please input the Attenuation Coefficient:\n',...222.144,[100,600]); w=yesinput('please input the Angle Frequence(rad/s):\n',...222.144,[100,600]); end k=k+1;fs=yesinput('please input the sample frequence:\n',...1000,[100,1200]); Xa=FF(A,a,w,fs); i=i+1;string+['fs=',num2str(fs)]; figure(i)DFT(Xa,50,string); 1=yesinput 1=str2num(1); end%系统和响应分析else if(s==2)kk=str2num(kk);while(kk)if(kk==1)m=conv(Xb,Hb);N=5;i=i+1;figure(i)string=('hb(n)');Hs=DFT(Hb,4,string);i=i+1;figure(i)string('xb(n)');DFT(Xb,2,string);string=('y(n)=xb(n)*hb(n)');else if (kk==2)m=conv(Ha,Ha);N=19;string=('y(n)=ha(n)*(ha(n)');else if (kk==3)Xc=stepseq(1,1,5);m=conv(Xc,Ha);N=14;string=('y(n)=xc(n)*ha(n)');endendendi=i+1;figure(i)DFT(m,N,string);kk=yesinputkk=str2num(kk);end卷积定理的验证else if(s==3)A=1;a=0.5;w=2,0734;fs=1;Xal=FF(A,a,w,fs);i=i+1;figure(i)string=('The xal(n)(A=1,a=0.4,T=1)'); [Xa,w]DFT(Xal,50,string);i=i+1;figure(i)string =('hb(n)');Hs=DFT(Hb,4,string);Ys=Xs.*Hs;y=conv(Xal,Hb);N=53;i=i+1;figure(i)string=('y(n)=xa(n)*hb(n)');[yy,w]=DFT(y,N,string);i=i+1;figure(i)subplot(2,2,1)plot(w/pi,abs(yy));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title(FT[x(n)*h(n)]');subplot(2,2,3)plot(w/pi,abs(Ys));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title('FT[xs(n)].FT[h(n)]');endendend子函数:离散傅立叶变换及X(n),FT[x(n)]的绘图函数function[c,l]=DFT(x,N,str)n=0:N-1;k=-200:200;w=(pi/100)*k;l=w;c=x*Xc=stepseq(1,1,5);子函数:产生信号function c=FF(A,a,w,fs)n=o:50-1;c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49); 子函数:产生脉冲信号function [x,n]=impseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)==0];子函数:产生矩形框信号function [x,n]=stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0>=0)];四、 实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。
数字信号处理实验报告

数字信号处理实验报告引言数字信号处理(Digital Signal Processing,DSP)是一门研究数字信号的获取、分析、处理和控制的学科。
在现代科技发展中,数字信号处理在通信、图像处理、音频处理等领域起着重要的作用。
本次实验旨在通过实际操作,深入了解数字信号处理的基本原理和实践技巧。
实验一:离散时间信号的生成与显示在实验开始之前,我们首先需要了解信号的生成与显示方法。
通过数字信号处理器(Digital Signal Processor,DSP)可以轻松生成和显示各种类型的离散时间信号。
实验设置如下:1. 设置采样频率为8kHz。
2. 生成一个正弦信号:频率为1kHz,振幅为1。
3. 生成一个方波信号:频率为1kHz,振幅为1。
4. 将生成的信号通过DAC(Digital-to-Analog Converter)输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的正弦信号和方波信号的图片)实验分析:通过示波器的显示结果可以看出,正弦信号在时域上呈现周期性的波形,而方波信号则具有稳定的上下跳变。
这体现了正弦信号和方波信号在时域上的不同特征。
实验二:信号的采样和重构在数字信号处理中,信号的采样是将连续时间信号转化为离散时间信号的过程,信号的重构则是将离散时间信号还原为连续时间信号的过程。
在实际应用中,信号的采样和重构对信号处理的准确性至关重要。
实验设置如下:1. 生成一个正弦信号:频率为1kHz,振幅为1。
2. 设置采样频率为8kHz。
3. 对正弦信号进行采样,得到离散时间信号。
4. 对离散时间信号进行重构,得到连续时间信号。
5. 将重构的信号通过DAC输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的连续时间信号和重构信号的图片)实验分析:通过示波器的显示结果可以看出,重构的信号与原信号非常接近,并且能够还原出原信号的形状和特征。
这说明信号的采样和重构方法对于信号处理的准确性有着重要影响。
最新数字信号处理实验报告

最新数字信号处理实验报告一、实验目的本次实验旨在加深对数字信号处理(DSP)理论的理解,并通过实践操作掌握数字信号处理的基本方法和技术。
通过实验,学习如何使用相关软件工具进行信号的采集、分析、处理和重构,提高解决实际问题的能力。
二、实验内容1. 信号采集与分析- 使用数字示波器采集模拟信号,并将其转换为数字信号。
- 利用傅里叶变换(FFT)分析信号的频谱特性。
- 观察并记录信号的时域和频域特性。
2. 滤波器设计与实现- 设计低通、高通、带通和带阻滤波器。
- 通过编程实现上述滤波器,并测试其性能。
- 分析滤波器对信号的影响,并调整参数以优化性能。
3. 信号重构实验- 应用所学滤波器对采集的信号进行去噪处理。
- 使用逆傅里叶变换(IFFT)重构经过滤波处理的信号。
- 比较重构信号与原始信号的差异,评估处理效果。
三、实验设备与材料- 计算机及DSP相关软件(如MATLAB、LabVIEW等)- 数字示波器- 模拟信号发生器- 数据采集卡四、实验步骤1. 信号采集- 连接并设置好数字示波器和模拟信号发生器。
- 生成一系列不同频率和幅度的模拟信号。
- 通过数据采集卡将模拟信号转换为数字信号。
2. 滤波器设计- 在DSP软件中设计所需的滤波器,并编写相应的程序代码。
- 调整滤波器参数,如截止频率、增益等,以达到预期的滤波效果。
3. 信号处理与重构- 应用设计的滤波器对采集的数字信号进行处理。
- 利用IFFT对处理后的信号进行重构。
- 通过对比原始信号和重构信号,评估滤波器的性能。
五、实验结果与分析- 展示信号在时域和频域的分析结果。
- 描述滤波器设计参数及其对信号处理的影响。
- 分析重构信号的质量,包括信噪比、失真度等指标。
六、实验结论- 总结实验中所学习到的数字信号处理的基本概念和方法。
- 讨论实验中遇到的问题及其解决方案。
- 提出对实验方法和过程的改进建议。
七、参考文献- 列出实验过程中参考的书籍、文章和其他资源。
数字信号处理实验报告_完整版

实验1 利用DFT 分析信号频谱一、实验目的1.加深对DFT 原理的理解。
2.应用DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境 计算机、MATLAB 软件环境 三、实验基础理论1.DFT 与DTFT 的关系有限长序列 的离散时间傅里叶变换 在频率区间 的N 个等间隔分布的点 上的N 个取样值可以由下式表示:212/0()|()()01N jkn j Nk N k X e x n eX k k N πωωπ--====≤≤-∑由上式可知,序列 的N 点DFT ,实际上就是 序列的DTFT 在N 个等间隔频率点 上样本 。
2.利用DFT 求DTFT方法1:由恢复出的方法如下:由图2.1所示流程可知:101()()()N j j nkn j nN n n k X e x n eX k W e N ωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑ 由上式可以得到:IDFTDTFT( )12()()()Nj k kX e X k Nωπφω==-∑ 其中为内插函数12sin(/2)()sin(/2)N j N x eN ωωφω--= 方法2:实际在MATLAB 计算中,上述插值运算不见得是最好的办法。
由于DFT 是DTFT 的取样值,其相邻两个频率样本点的间距为2π/N ,所以如果我们增加数据的长度N ,使得到的DFT 谱线就更加精细,其包络就越接近DTFT 的结果,这样就可以利用DFT 计算DTFT 。
如果没有更多的数据,可以通过补零来增加数据长度。
3.利用DFT 分析连续信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续信号离散化,这里需要进行两个操作:一是采样,二是截断。
对于连续时间非周期信号,按采样间隔T 进行采样,阶段长度M ,那么:1()()()M j tj nT a a a n X j x t edt T x nT e ∞--Ω-Ω=-∞Ω==∑⎰对进行N 点频域采样,得到2120()|()()M jkn Na a M kn NTX j T x nT eTX k ππ--Ω==Ω==∑因此,可以将利用DFT 分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔T ,得到离散序列(2)确定截取长度M ,得到M 点离散序列,这里为窗函数。
数字信号处理实验报告

数字信号处理实验报告实验一:频谱分析与采样定理一、实验目的1.观察模拟信号经理想采样后的频谱变化关系。
2.验证采样定理,观察欠采样时产生的频谱混叠现象3.加深对DFT算法原理和基本性质的理解4.熟悉FFT算法原理和FFT的应用二、实验原理根据采样定理,对给定信号确定采样频率,观察信号的频谱三、实验内容和步骤实验内容(1)在给定信号为:1.x(t)=cos(100*π*at)2.x(t)=exp(-at)3.x(t)=exp(-at)cos(100*π*at)其中a为实验者的学号,用DFT分析上述各信号的频谱结构,选取不同的采样频率和截取长度,试分析频谱发生的变化。
实验内容(2)设x(n)=cos(0.48*π*n)+ cos(0.52*π*n),对其进行以下频谱分析:10点DFT,64点DFT,及在10点序列后补零至64点的DFT 试分析这三种频谱的特点。
四、实验步骤1.复习采样理论、DFT的定义、性质和用DFT作谱分析的有关内容。
2.复习FFT算法原理和基本思想。
3.确定实验给定信号的采样频率,编制对采样后信号进行频谱分析的程序五、实验程序和结果实验1内容(1)N=L/T+1;t=0:T:L;a=48;D1=2*pi/(N*T); % 求出频率分辨率k1=floor((-(N-1)/2):((N-1)/2)); % 求对称于零频率的FFT位置向量%%%%%%%%%%%%%%%%%%%%%%%%%figure(1),x1=cos(100*pi*a*t);y1=T*fftshift(fft(x1));%虽然原来是周期信号,但做了截断后,仍可当作非周期信号。
subplot(2,1,1),plot(t,x1);title('正弦信号');subplot(2,1,2),plot(k1*D1,abs(y1));title('正弦信号频谱'); %%%%%%%%%%%%%%%%%%%%% figure(2), x2=exp(-a*t);y2=T*fftshift(fft(x2));%有限长(长度为N)离散时间信号x1的dft 再乘T 来近似模拟信号的频谱,长度为Nsubplot(2,1,1),plot(t,x2);title('指数信号');subplot(2,1,2),plot(k1*D1,abs(y2));title('指数信号频谱'); %%%%%%%%%%%%%%%%%%%%% figure(3), x3=x1.*x2;y3=T*fftshift(fft(x3))subplot(2,1,1),plot(t,x3);title('两信号相乘');subplot(2,1,2),plot(k1*D1,abs(y3));title('两信号相乘频谱');0.020.040.060.080.10.120.140.16-1-0.500.51正弦信号-4000-3000-2000-10000100020003000400000.020.040.06正弦信号频谱00.020.040.060.080.10.120.140.160.51-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51两信号相乘-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱T=0.0005 L=0.150.020.040.060.080.10.120.140.16-1-0.500.51-8000-6000-4000-2000200040006000800000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.51指数信号-8000-6000-4000-20000200040006000800000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51-8000-6000-4000-20000200040006000800000.0050.010.015两信号相乘频谱T=0.002 L=0.150.020.040.060.080.10.120.140.16-1-0.500.51正弦信号-2000-1500-1000-50050010001500200000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.51-2000-1500-1000-500050010001500200000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51两信号相乘-2000-1500-1000-500050010001500200000.0050.010.015两信号相乘频谱T=0.001 L=0.180.020.040.060.080.10.120.140.160.18-1-0.500.51-4000-3000-2000-1000100020003000400000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.180.51指数信号-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.160.18-1-0.500.51-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱T=0.001 L=0.120.020.040.060.080.10.12-1-0.500.51正弦信号-4000-3000-2000-10000100020003000400000.020.040.06正弦信号频谱00.020.040.060.080.10.120.51-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.12-1-0.500.51两信号相乘-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱实验1内容(2)>> N=10;n=1:NT=1x1=cos(0.48*pi*n*T)+cos(0.52*pi*n*T)X1=fft(x1,10)k=1:N;w=2*pi*k/10subplot(3,2,1);stem(n,x1);axis([0,10,-3,3]);title('信号x(n)');subplot(3,2,2);stem(w/pi,abs(X1));axis([0,1,0,10]);title('DFTx(n)');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% N2=100;n2=1:N2T=1x1=cos(0.48*pi*[1:10]*T)+cos(0.52*pi*[1:10]*T)x2=[x1,zeros(1,90)]X2=fft(x2,N2)k2=1:N2;w2=2*pi*k2/100subplot(3,2,3);stem(x2);axis([0,100,-3,3]);title('信号x(n)补零');subplot(3,2,4);plot(w2/pi,abs(X2));axis([0,1,0,10]);title('DFTx(n)');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% N3=100;n3=1:N3T=1x3=cos(0.48*pi*n3*T)+cos(0.52*pi*n3*T)X3=fft(x3,100)k3=1:N3;w3=2*pi*k3/100subplot(3,2,5);stem(n3,x3);axis([0,100,-3,3]);title('信号x(n)');subplot(3,2,6);stem(w3/pi,abs(X3));axis([0,1,0,10]);title('DFTx(n)');n =1 2 3 4 5 6 7 8 9 10 T =1510-202信号x(n)0.510510DFTx(n)50100信号x(n)补零0.510510DFTx(n)50100信号x(n)DFTx(n)实验二 卷积定理一、实验目的通过本实验,验证卷积定理,掌握利用DFT 和FFT 计算线性卷积的方法。
数字信号处理实验报告

数字信号处理实验报告实验一:混叠现象的时域与频域表现实验原理:当采样频率Fs不满足采样定理,会在0.5Fs附近引起频谱混叠,造成频谱分析误差。
实验过程:考虑频率分别为3Hz,7Hz,13Hz 的三个余弦信号,即:g1(t)=cos(6πt), g2(t)=cos(14πt), g3(t)=cos(26πt),当采样频率为10Hz 时,即采样间隔为0.1秒,则产生的序列分别为:g1[n]=cos(0.6πn), g2[n]=cos(1.4πn), g3[n]=cos(2.6πn)对g2[n],g3[n] 稍加变换可得:g2[n]=cos(1.4πn)=cos((2π-0.6π)n)= cos(0.6πn)g3[n]=cos(2.6πn)= cos((2π+0.6π)n)=cos(0.6πn)利用Matlab进行编程:n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);plot(t,g1,t,g2,t,g3);k=1:100;s=k*0.1;q1=cos(6*pi*s);q2=cos(14*pi*s);q3=cos(26*pi*s);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(2,2,1);plot(k/10,abs(fft(q1)))subplot(2,2,2);plot(k/10,abs(fft(q2)))subplot(2,2,3);plot(k/10,abs(fft(q3)))通过Matlab软件的图像如图所示:如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
程序编程改动如下:k=1:300;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);subplot(2,2,1);plot(k/10,abs(fft(q)))subplot(2,2,2);plot(k/10,abs(fft(q1)))subplot(2,2,3);plot(k/10,abs(fft(q2)))得图像:问题讨论:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。
数字信号处理实验报告

一、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握离散时间信号的基本运算和变换方法。
3. 熟悉数字滤波器的设计和实现。
4. 培养实验操作能力和数据分析能力。
二、实验原理数字信号处理(Digital Signal Processing,DSP)是利用计算机对信号进行采样、量化、处理和分析的一种技术。
本实验主要涉及以下内容:1. 离散时间信号:离散时间信号是指时间上离散的信号,通常用序列表示。
2. 离散时间系统的时域分析:分析离散时间系统的时域特性,如稳定性、因果性、线性等。
3. 离散时间信号的变换:包括离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等。
4. 数字滤波器:设计、实现和分析数字滤波器,如低通、高通、带通、带阻滤波器等。
三、实验内容1. 离散时间信号的时域运算(1)实验目的:掌握离散时间信号的时域运算方法。
(2)实验步骤:a. 使用MATLAB生成两个离散时间信号;b. 进行时域运算,如加、减、乘、除等;c. 绘制运算结果的时域波形图。
2. 离散时间信号的变换(1)实验目的:掌握离散时间信号的变换方法。
(2)实验步骤:a. 使用MATLAB生成一个离散时间信号;b. 进行DTFT、DFT和FFT变换;c. 绘制变换结果的频域波形图。
3. 数字滤波器的设计和实现(1)实验目的:掌握数字滤波器的设计和实现方法。
(2)实验步骤:a. 设计一个低通滤波器,如巴特沃斯滤波器、切比雪夫滤波器等;b. 使用MATLAB实现滤波器;c. 使用MATLAB对滤波器进行时域和频域分析。
4. 数字滤波器的应用(1)实验目的:掌握数字滤波器的应用。
(2)实验步骤:a. 采集一段语音信号;b. 使用数字滤波器对语音信号进行降噪处理;c. 比较降噪前后的语音信号,分析滤波器的效果。
四、实验结果与分析1. 离散时间信号的时域运算实验结果显示,通过MATLAB可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。
数字信号处理实验报告

数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境1、计算机一台,安装有 MATLAB 软件。
2、数据采集卡。
三、实验原理1、数字信号的表示与采样数字信号是在时间和幅度上都离散的信号,可以用数字序列来表示。
在采样过程中,根据奈奎斯特采样定理,为了能够准确地恢复原始信号,采样频率必须大于信号最高频率的两倍。
2、离散傅里叶变换(DFT)DFT 是将时域离散信号变换到频域的一种方法。
通过 DFT,可以得到信号的频谱特性,从而分析信号的频率成分。
3、数字滤波器数字滤波器是对数字信号进行滤波处理的系统,分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。
FIR 滤波器具有线性相位特性,而 IIR 滤波器则在性能和实现复杂度上有一定的优势。
四、实验内容与步骤1、信号的采集与生成使用数据采集卡采集一段音频信号,或者在 MATLAB 中生成一个模拟信号,如正弦波、方波等。
2、信号的采样与重构对采集或生成的信号进行采样,然后通过插值算法重构原始信号,观察采样频率对重构信号质量的影响。
3、离散傅里叶变换对采样后的信号进行DFT 变换,得到其频谱,并分析频谱的特点。
4、数字滤波器的设计与实现(1)设计一个低通 FIR 滤波器,截止频率为给定值,观察滤波前后信号的频谱变化。
(2)设计一个高通 IIR 滤波器,截止频率为给定值,比较滤波前后信号的时域和频域特性。
五、实验结果与分析1、信号的采集与生成成功采集到一段音频信号,并在MATLAB 中生成了各种模拟信号,如正弦波、方波等。
通过观察这些信号的时域波形,对不同类型信号的特点有了直观的认识。
2、信号的采样与重构当采样频率足够高时,重构的信号能够较好地恢复原始信号的形状;当采样频率低于奈奎斯特频率时,重构信号出现了失真和混叠现象。
数字信号处理实验报告完整版[5篇模版]
![数字信号处理实验报告完整版[5篇模版]](https://img.taocdn.com/s3/m/7b21a71bb5daa58da0116c175f0e7cd184251866.png)
数字信号处理实验报告完整版[5篇模版]第一篇:数字信号处理实验报告完整版实验 1利用 T DFT 分析信号频谱一、实验目的1.加深对 DFT 原理的理解。
2.应用 DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论T 1.DFT 与与 T DTFT 的关系有限长序列的离散时间傅里叶变换在频率区间的N 个等间隔分布的点上的 N 个取样值可以由下式表示:212 /0()|()()0 1Nj knjNk NkX e x n e X k k Nπωωπ--====≤≤-∑由上式可知,序列的 N 点 DFT ,实际上就是序列的 DTFT 在 N 个等间隔频率点上样本。
2.利用 T DFT 求求 DTFT方法 1 1:由恢复出的方法如下:由图 2.1 所示流程可知:101()()()Nj j n kn j nNn n kX e x n e X k W eNωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑由上式可以得到:IDFT DTFT第二篇:数字信号处理实验报告JIANGSUUNIVERSITY OF TECHNOLOGY数字信号处理实验报告学院名称:电气信息工程学院专业:班级:姓名:学号:指导老师:张维玺(教授)2013年12月20日实验一离散时间信号的产生一、实验目的数字信号处理系统中的信号都是以离散时间形态存在的,所以对离散时间信号的研究是数字信号的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大绘图功能,便于用户直观地处理输出结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,实现信号的卷积运算,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
数字信号处理实验报告

数字信号处理实验报告
数字信号处理是指利用数字技术对模拟信号进行采样、量化、编码等处理后,再通过数字信号处理器进行数字化处理的技术。
在数字信号处理实验中,我们通过对数字信号进行滤波、变换、解调等处理,来实现信号的处理和分析。
在实验中,我们首先进行了数字信号采集和处理的基础实验,采集了包括正弦信号、方波信号、三角波信号等在内的多种信号,并进行了采样、量化、编码等处理。
通过这些处理,我们可以将模拟信号转换为数字信号,并对其进行后续处理。
接着,我们进行了数字信号滤波的实验。
滤波是指通过滤波器对数字信号进行处理,去除其中的噪声、干扰信号等不需要的部分,使其更加纯净、准确。
在实验中,我们使用了低通滤波器、高通滤波器、带通滤波器等多种滤波器进行数字信号滤波处理,得到了更加干净、准确的信号。
除了滤波,我们还进行了数字信号变换的实验。
数字信号变换是指将数字信号转换为另一种表示形式的技术,可以将信号从时域转换到频域,或者从离散域转换到连续域。
在实验中,我们使用了傅里叶变换、离散傅里叶变换等多种变换方式,对数字信号进行了变换处理,得到了信号的频谱信息和其他相关参数。
我们进行了数字信号解调的实验。
数字信号解调是指将数字信号转换为模拟信号的技术,可以将数字信号还原为原始信号,并进行后续处理。
在实验中,我们使用了频率解调、相干解调等多种解调方式,将数字信号转换为模拟信号,并对其进行了分析和处理。
总的来说,数字信号处理实验是一项非常重要的实验,可以帮助我们更好地理解数字信号处理的原理和方法,为我们今后从事相关领域的研究和工作打下坚实的基础。
数字信号处理实验报告

数字信号处理实验报告实验一 信号的产生及傅立叶分析(设计性)一 实验目的1 学会利用计算机仿真信号。
2 理解信号采样思想。
3学会信号的频谱分析方法。
二 实验原理奈奎斯特抽样定理:要想抽样后能够不失真的还原出原信号,则抽样频率必须大于两倍信号谱的最高频率。
离散傅立叶变换(DFT ): 正变换反变换)(n x 和)(k X 都是点数为N 的有限长序列。
实质上有限长序列都是作为周期序列的一个周期来表示的,都隐含有周期性意义。
三 实验内容1 几种常用序列(如正弦、矩形、指数序列等)的产生。
1.用stem 函数来画出序列的波形,通过改变N 和s 得值来改变时间长度、抽样频率 N=500;k=0:N; s=0.03;X=5*sin(s*pi*k);plot(k,X,k,zeros(1,N+1));Xlabel('k'); Ylabel('X[k]'); title('余弦序列');10)()]([)(1-≤≤==∑--=N k Wn x n x DFT k X N n nk N10)(1)]([)(1-≤≤==∑--=-N n Wk X Nk X IDFT n x N k nk N2.指数序列 clear ;clc%c :指数序列的幅度 %a :指数序列的底数%k1:绘制序列的起始序号 %k2:绘制序列的终止序号c=1;a=0.75;k1=0;k2=20;k=k1:k2; x=c*(a.^k);stem(k,x);%'filled'Xlabel('k'); Ylabel('x');title('Ö¸ÊýÐòÁÐ');3各种序列t=0:0.01:1;k=1:200;x1=0.1*exp(-2*t); %指数序列 x2=2*cos(2*pi*4*t); %余弦序列 x3=[ones(1,10) zeros(1,90) ones(1,10) zeros(1,90)]; subplot(3,1,1); plot(t,x1); title('指数序列'); subplot(3,1,2); plot(t,x2); title('余弦序列'); subplot(3,1,3); plot(k,x3); title('矩形序列');kX [k ]kx指数信号余弦信号矩形信号4 编程实现序列的离散傅里叶变换(DFT),输入x(n),输出X(k)并且对于不同序列(如矩形序列等)做DFT.clear; clck=0:31; x1=2*((0.75).^k);subplot 321; stem(k,x1); title('指数序列');y1=fft(x1,32);subplot 322; stem(k,y1); title('指数序列DFT');k=0:31; x2=sin(k);subplot 323; stem(k,x2); title('正弦序列Sin(k)');y2=fft(x2,32);subplot 324; stem(k,y2); title('正弦序列DFT');x3=[ones(1,8) zeros(1,8) ones(1,8) zeros(1,8)];subplot 325; stem(k,x3); title('矩形序列');y3=fft(x3,32);subplot 326; stem(k,y3); title('矩形序列DFT');指数序列指数序列DFT正弦序列Sin(k)010203040正弦序列DFT矩形序列矩形序列DFT实验二 快速傅立叶变换FFT 及频谱分析(设计性)一 实验目的1 进一步加深对DFT 算法原理和基本性质的理解2 熟悉FFT 算法原理和FFT 的子程序应用3 学习用FFT 对连续时间信号进行频谱分析的方法,了解可能出现的分析误差及原因二 实验原理(参考P187,P189)FFT 只是DFT 的一种快速算法,利用FFT 可减少运算量,提高速度。
史上最全数字信号处理实验报告完美版

实验一、零极点分布对系统频率响应的影响Y(n)=x(n)+ay(n-1)1、调用MATLAB函数freqz计算并绘制的幅频特性和相频特性其中:1 代表a=0.7;2代表a=0.8;3代表a=0.9a=0.7时的零极点图A=0.8时的零极点图a=0.9时的零极点图观察零极点的分布与相应曲线易知:小结:系统极点z=a,零点z=0,当B点从w=0逆时针旋转时,在w=0点,由于极点向量长度最短,形成波峰,并且当a越大,极点越接近单位圆,峰值愈高愈尖锐;在w=pi点形成波谷;z=0处零点不影响幅频响应2、先求出系统传函的封闭表达式,通过直接计算法得出的幅频特性和相频特性曲线。
其中:1代表a=0.7;2代表a=0.8;3代表a=0.9附录程序如下:(对程序进行部分注释)>> a=0.7;w=0:0.01:2*pi;%设定w的范围由0到2π,间隔为0.01y=1./(1-a*exp(-j*w)); %生成函数subplot(211);plot(w/2/pi,10*log(abs(y)),'g');%生成图像其中通过调用abs函数计算幅值hold on;xlabel('Frequency(Hz)');%定义横坐标名称ylabel('magnitude(dB)');%定义纵坐标名称title('a=0.8,直接计算h(ejw)');grid on;%定义图片标题subplot(212);plot(w/2/pi,unwrap(angle(y)),'g');grid on;%生成图像其中通过调用angle计算相角,‘g’为规定线条颜色hold on;>> a=0.8;w=0:0.01:2*pi;y=1./(1-a*exp(-j*w));subplot(211);plot(w/2/pi,10*log(abs(y)),'r');hold on;xlabel('Frequency(Hz)');ylabel('magnitude(dB)');title('a=0.8,直接计算h(ejw)');grid on;subplot(212);plot(w/2/pi,unwrap(angle(y)),'r');grid on;hold on;>> a=0.9;w=0:0.01:2*pi;y=1./(1-a*exp(-j*w));subplot(211);plot(w/2/pi,10*log(abs(y)),'b');hold on;xlabel('Frequency(Hz)');ylabel('magnitude(dB)');title('a=0.9,直接计算h(ejw)');grid on;subplot(212);plot(w/2/pi,unwrap(angle(y)),'b');grid on;hold on;2、y(n)=x(n)=ax(n-1)通过调用freqz函数绘图,其中:1代表a=0.7,;2代表a=0.8;3代表a=0.9附录程序如下:(因为程序同实验一相同不再进行注释)a=0.7;A=1;B=[1,a];freqz(B,A,256,'whole',1);title('a=0.7');hold on;a=0.8;A=1;B=[1,a];freqz(B,A,256,'whole',1);title('a=0.8');hold on;a=0.9;A=1;B=[1,a];freqz(B,A,256,'whole',1);title('a=0.9');以下为a为不同数值时的零极点图a=0.7A=0.8A=0.9小结:系统极点z=0,零点z=a,当B点从w=0逆时针旋转时,在w=0点,由于零点向量长度最长,形成波峰:在w=pi点形成波谷;z=a处极点不影响相频响应。
数字信号处理实验报告

数字信号处理实验报告数字信号处理实验报告一、实验目的本实验旨在通过数字信号处理的方法,对给定的信号进行滤波、频域分析和采样率转换等操作,深入理解数字信号处理的基本原理和技术。
二、实验原理数字信号处理(DSP)是一种利用计算机、数字电路或其他数字设备对信号进行各种处理的技术。
其主要内容包括采样、量化、滤波、变换分析、重建等。
其中,滤波器是数字信号处理中最重要的元件之一,它可以用来提取信号的特征,抑制噪声,增强信号的清晰度。
频域分析是指将时域信号转化为频域信号,从而更好地理解信号的频率特性。
采样率转换则是在不同采样率之间对信号进行转换,以满足不同应用的需求。
三、实验步骤1.信号采集:首先,我们使用实验室的信号采集设备对给定的信号进行采集。
采集的信号包括噪声信号、含有正弦波和方波的混合信号等。
2.数据量化:采集到的信号需要进行量化处理,即将连续的模拟信号转化为离散的数字信号。
这一步通常通过ADC(模数转换器)实现。
3.滤波处理:将量化后的数字信号输入到数字滤波器中。
我们使用不同的滤波器,如低通、高通、带通等,对信号进行滤波处理,以观察不同滤波器对信号的影响。
4.频域分析:将经过滤波处理的信号进行FFT(快速傅里叶变换)处理,将时域信号转化为频域信号,从而可以对其频率特性进行分析。
5.采样率转换:在进行上述处理后,我们还需要对信号进行采样率转换。
我们使用了不同的采样率对信号进行转换,并观察采样率对信号处理结果的影响。
四、实验结果及分析1.滤波处理:经过不同类型滤波器处理后,我们发现低通滤波器可以有效抑制噪声,高通滤波器可以突出高频信号的特征,带通滤波器则可以提取特定频率范围的信号。
这表明不同类型的滤波器在处理不同类型的信号时具有不同的效果。
2.频域分析:通过FFT处理,我们将时域信号转化为频域信号。
在频域分析中,我们可以更清楚地看到信号的频率特性。
例如,对于噪声信号,我们可以看到其频率分布较为均匀;对于含有正弦波和方波的混合信号,我们可以看到其包含了不同频率的分量。
数字信号处理实验报告

数字信号处理 实验报告实验一 序列的傅立叶变换一、实验目的1.进一步加深理解DFS,DFT 算法的原理;2.研究补零问题;3.快速傅立叶变换(FFT )的应用。
二、 实验步骤1.复习DFS 和DFT 的定义,性质和应用;2熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;3利用提供的程序例子编写实验用程序;4.按实验内容上机实验,并进行实验结果分析;5.写出完整的实验报告,并将程序附在后面。
三、 实验内容1.周期方波序列的频谱试画出下面四种情况下的的幅度频谱, 并分析补零后,对信号频谱的影响。
2.有限长序列x(n)的DFT (1)取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度;(2)将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出x(n)的频谱X(k) 的幅度;(3)取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。
利用FFT 进行谱分析3.已知:模拟信号以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。
请分别画出N=45; N=50;N=55;N=60时的幅值曲线。
四、 实验数据分析)8cos(5)4sin(2)(t t t x ππ+=)52.0cos()48.0cos()(n n n x ππ+=1.周期方波序列的频谱分析首先定义一个功能函数dfsfunction[Xk]=dfs(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;(1)L=5,N=20;%题1.(1)L=5;N=20;%对于(2),(3),(4)问,只要修改L,N的数值就好。
n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(1)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)');title('DFS of SQ.wave:L=5,N=20');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(2)L=5,N=40;(3).L=5,N=60(4)L=7,N=60;结果分析:虽然周期序列不存在FT,但是一个周期序列可以利用其DFS系数X(k)表示它的频谱分布规律,从以上各频谱图可以看出,随着补零点数的增加,周期序列的谐波次数越来越多,其频谱的包络线越来越平滑连续,更能反映幅度值随时间的变化。
数字信号处理 实验报告

数字信号处理实验报告实验一 信号、系统及系统响应一、实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系, 加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法, 利用序列的傅里叶变换对连续信号、 离散信号及系统响应进行频域分析。
二、实验原理与方法 1. 时域采样定理:对一个连续信号xa(t)进行理想采样的过程如下: xa1(t)=xa(t)p(t)其中xa1(t)为xa(t)的理想采样,p(t)为周期冲击脉冲。
xa1(t)的傅里叶变换Xa1(j Ω)为:11()[()]m Xa j Xa j m s T +∞=-∞Ω=Ω-Ω∑表明Xa1(j Ω)为Xa(j Ω)的周期延拓,其延拓周期为采样角频率(s Ω=2π/T )。
离散信号和系统在时域均可用序列来表示。
2. LTI 系统的输入输出关系: y(n)=x(n)*h(n)=()()m x m h n m +∞=-∞-∑()()()j j j Y e X e H e ωωω=三、实验内容1. 分析采样序列的特性。
1) 取模拟角频w=70.7*pi rad/s ,采样频率fs=1000Hz>2w ,发现无频谱混叠现象。
2) 改变采样频率, fs=300 Hz<2w ,频谱产生失真。
3) 改变采样频率, fs=200Hz<2w,频谱混叠,产生严重失真2. 时域离散信号、系统和系统响应分析。
1) 观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
2) 观察系统ha(n)对信号xc(n)的响应特性。
可发现:信号通过系统,相当于x(n)与系统函数h(n)卷积,时域卷积即对应频域函数相乘。
数字信号处理实验报告

实验一:频谱分析与采样定理 subplot(3,1,1),stem(t,x2);title('指数信号'); subplot(3,1,2),stem(f1,y2);title('指数信号频谱'); subplot(3,1,3),plot(f2,y21);title('指数信号频谱'); %%%%%%%%%%%%%%%%%%%%%%%%% x3=x1.*x2; y3=T*abs(fft(x3)); y31=fftshift(y3); figure(3), subplot(3,1,1),stem(t,x3);title('两信号相乘'); subplot(3,1,2),stem(f1,y3);title('两信号相乘频谱'); subplot(3,1,3),plot(f2,y31);title('两信号相乘频谱'); 实验结果: T=1/10000,������������ =10000,L=0.10
1/ 5
实验二:卷积定理 Y2=fft(y2); Z2=X2.*Y2; z2=ifft(Z2); figure(3), subplot(321),stem(x2);title('x2'); subplot(322),stem(real(X2));title('X2'); subplot(323),stem(y2);title('y2'); subplot(324),stem(real(Y2));title('Y2'); subplot(325),stem(z2);title('z2'); subplot(326),stem(real(Z2));title('Z2'); N=6; x3=[x zeros(1,N-length(x))]; y3=[y zeros(1,N-length(y))]; X3=fft(x3); Y3=fft(y3); Z3=X3.*Y3; z3=ifft(Z3); figure(4), subplot(321),stem(x3);title('x3'); subplot(322),stem(real(X3));title('X3'); subplot(323),stem(y3);title('y3'); subplot(324),stem(real(Y3));title('Y3'); subplot(325),stem(z3);title('z3'); subplot(326),stem(real(Z3));title('Z3'); N=8; x4=[x zeros(1,N-length(x))]; y4=[y zeros(1,N-length(y))]; X4=fft(x4); Y4=fft(y4); Z4=X4.*Y4; z4=ifft(Z4); figure(5), subplot(321),stem(x4);title('x4'); subplot(322),stem(real(X4));title('X4'); subplot(323),stem(y4);title('y4'); subplot(324),stem(real(Y4));title('Y4'); subplot(325),stem(z4);title('z4'); subplot(326),stem(real(Z4));title('Z4'); %N=6 时
数字信号处理实验报告(全)

实验一、离散时间系统及离散卷积1、单位脉冲响应源程序:function pr1() %定义函数pr1a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1;x=impseq(0,-20,120); %调用impseq函数n=[-40:140]; %定义n从-20 到120h=filter(b,a,x); %调用函数给纵座标赋值figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激title('冲激响应'); %定义标题为:'冲激响应'xlabel('n'); %绘图横座标为nylabel('h(n)'); %绘图纵座标为h(n)figure(2) %绘图figure 2[z,p,g]=tf2zp(b,a); %绘出零极点图zplane(z,p)function [x,n]=impseq(n0,n1,n2) %声明impseq函数n=[n1:n2];x=[(n-n0)==0];结果:Figure 1:Figure 2:2、离散系统的幅频、相频的分析源程序:function pr2()b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];m=0:length(b)-1; %m从0 到3l=0:length(a)-1; %l从0 到3K=5000;k=1:K;w=pi*k/K; %角频率wH=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义magH=abs(H); %magH为幅度angH=angle(H); %angH为相位figure(1)subplot(2,1,1); %在同一窗口的上半部分绘图plot(w/pi,magH); %绘制w(pi)-magH的图形grid;axis([0,1,0,1]); %限制横纵座标从0到1xlabel('w(pi)'); %x座标为 w(pi)ylabel('|H|'); %y座标为 angle(H)title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图plot(w/pi,angH); %绘制w(pi)-angH的图形grid; %为座标添加名称xlabel('w(pi)'); %x座标为 w(pi)ylabel('angle(H)'); %y座标为 angle(H)结果:3、卷积计算源程序:function pr3()n=-5:50; %声明n从-5到50u1=stepseq(0,-5,50); %调用stepseq函数声用明u1=u(n)u2=stepseq(10,-5,50); %调用stepseq函数声用明u2=u(n-10) %输入x(n)和冲激响应h(n)x=u1-u2; %x(n)=u(n)-u(n-10)h=((0.9).^n).*u1; %h(n)=0.9^n*u(n)figure(1)subplot(3,1,1); %绘制第一个子图stem(n,x); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('输入序列'); %规定标题为:'输入序列'xlabel('n'); %横轴为nylabel('x(n)'); %纵轴为x(n)subplot(3,1,2); %绘制第二个子图stem(n,h); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('冲激响应序列'); %规定标题为:'冲激响应序列'xlabel('n'); %横轴为nylabel('h(n)'); %纵轴为h(n)%输出响应[y,ny]=conv_m(x,n,h,n); %调用conv_m函数subplot(3,1,3); %绘制第三个子图stem(ny,y);axis([-5,50,0,8]);title('输出响应'); %规定标题为:'输出响应'xlabel('n');ylabel('y(n)'); %纵轴为y(n)%stepseq.m子程序%实现当n>=n0时x(n)的值为1function [x,n]=stepseq(n0,n1,n2)n=n1:n2;x=[(n-n0)>=0];%con_m的子程序%实现卷积的计算function [y,ny]=conv_m(x,nx,h,nh)nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h));ny=[nyb:nye];y=conv(x,h);结果:实验二、离散傅立叶变换与快速傅立叶变换1、离散傅立叶变换(DFT)源程序:function pr4()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16)subplot(2,1,1); %绘制第一个子图x(n)stem(n,x); %绘制冲激title('x(n)'); %标题为x(n)xlabel('n'); %横座标为nX=dft(x,N); %调用dft函数计算x(n)的傅里叶变换magX=abs(X); %取变换的幅值subplot(2,1,2); %绘制第二个子图DFT|X|stem(n,X);title('DFT|X|');xlabel('f(pi)'); %横座标为f(pi)%dft的子程序%实现离散傅里叶变换function [Xk]=dft(xn,N)n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;结果:F=50,N=64,T=0.000625时的波形F=50,N=32,T=0.000625时的波形:2、快速傅立叶变换(FFT)源程序:%function pr5()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16) subplot(2,1,1);plot(n,x);title('x(n)');xlabel('n'); %在第一个子窗中绘图x(n)X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);title('DTFT|X|');xlabel('f(pi)'); %在第二个子图中绘图x(n)的快速傅%里叶变换结果:3、卷积的快速算法源程序:function pr6()n=0:14;x=1.^n;h=(4/5).^n;x(15:32)=0;h(15:32)=0;%到此 x(n)=1, n=0~14; x(n)=0,n=15~32% h(n)=(4/5)^n, n=0~14; h(n)=0,n=15~32subplot(3,1,1);stem(x);title('x(n)');axis([1,32,0,1.5]); %在第一个子窗绘图x(n)横轴从1到32,纵轴从0到1.5 subplot(3,1,2);stem(h);title('h(n)');axis([1,32,0,1.5]); %在第二个子窗绘图h(n)横轴从1到32,纵轴从0到1.5 X=fft(x); %X(n)为x(n)的快速傅里叶变换H=fft(h); %H(n)为h(n)的快速傅里叶变换Y=X.*H; %Y(n)=X(n)*H(n)%Y=conv(x,h);y=ifft(Y); %y(n)为Y(n)的傅里叶反变换subplot(3,1,3) %在第三个子窗绘图y(n)横轴从1到32,纵轴从0到6 stem(abs(y));title('y(n=x(n)*h(n))');axis([1,32,0,6]);结果:实验三、IIR数字滤波器设计源程序:function pr7()wp=0.2*pi;ws=0.3*pi;Rp=1;As=25;T=1;Fs=1/T;OmegaP=(2/T)*tan(wp/2); %OmegaP(w)=2*tan(0.1*pi) OmegaS=(2/T)*tan(ws/2); %OmegaS(w)=2*tan(0.15*pi)ep=sqrt(10^(Rp/10)-1);Ripple=sqrt(1/(1+ep.^2));Attn=1/10^(As/20);N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS) ));OmegaC=OmegaP/((10.^(Rp/10)-1).^(1/(2*N)));[cs,ds]=u_buttap(N,OmegaC);[b,a]=bilinear(cs,ds,Fs);[mag,db,pha,w]=freqz_m(b,a);subplot(3,1,1); %在第一个子窗绘制幅度响应的图形plot(w/pi,mag);title('幅度响应');xlabel('w(pi)');ylabel('H');axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]);grid;subplot(3,1,2); %在第二个子窗以分贝为单位绘制幅度响应的图形plot(w/pi,db);title('幅度响应(dB)');xlabel('w(pi)');ylabel('H');axis([0,1,-40,5]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]);grid;subplot(3,1,3); %在第三个子窗绘制相位响应的图形plot(w/pi,pha);title('相位响应');xlabel('w(pi)');ylabel('pi unit');%axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-1,0,1]);grid;function [b,a]=u_buttap(N,OmegaC)[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC.^N;B=real(poly(z));b0=k;b=k*B;a=real(poly(p));function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:实验四、FIR数字滤波器的设计源程序:function pr8()wp=0.2*pi;ws=0.35*pi;tr_width=ws-wp;M=ceil(6.6*pi/tr_width)+1;n=0:M-1;wc=(ws+wp)/2;alpha=(M-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);w_ham=(hamming(M))';h=hd.*w_ham;[mag,db,pha,w]=freqz_m(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:wp/delta_w+1)));As=-round(max(db(ws/delta_w+1:501)));subplot(2,2,1);stem(n,hd);title('理想冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('hd(n)');subplot(2,2,2);stem(n,h);title('实际冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('h(n)');subplot(2,2,3);plot(w/pi,pha);title('滤波器相位响应');axis([0,1,-pi,pi]);ylabel('pha');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-pi,0,pi]); grid;subplot(2,2,4);plot(w/pi,db);title('滤波器幅度响应');axis([0,1,-100,10]);ylabel('H(db)');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-50,-15,0]);function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:。
数字信号处理实验报告一二

数字信号处理实验报告一二目录一、实验目的 (2)1.1 了解数字信号处理的基本概念 (2)1.2 掌握数字信号处理的基本流程 (3)1.3 熟悉数字信号处理中常用的算法和实现方法 (5)二、实验目的 (6)2.1 理解数字信号处理技术在通信系统中的作用 (7)2.2 掌握数字信号处理技术在通信系统中的应用实例 (8)2.3 通过实验加深对数字信号处理技术的理解和实际操作能力 (9)三、实验原理和流程 (11)3.1 通信系统的基本工作原理 (12)3.2 数字信号处理技术在通信系统中的应用 (13)3.3 实验准备和实施计划 (14)四、数字滤波器设计与验证 (15)4.1 数字滤波器的设计方法 (17)4.2 滤波器的验证方法 (19)4.3 滤波器的性能测试 (20)五、信号检测与估计技术 (22)5.1 信号检测技术在通信系统中的应用 (23)5.2 信号估计技术的实现 (25)5.3 检测与估计技术的应用案例分析 (26)六、实验结果与讨论 (28)6.1 实验结果的分析与评价 (28)6.2 实验结果的对比与优化 (30)6.3 实验中遇到的问题和解决方案 (31)七、结论与展望 (32)7.1 实验结果的主要发现 (33)7.2 对数字信号处理在通信系统中的应用的认识提升 (34)7.3 对未来实验的思考和展望 (36)一、实验目的本次数字信号处理的实验旨在使学生掌握数字信号处理的基本概念、理论和实验技能,并通过实际操作加深对数字信号处理方法的理解和应用。
具体目的包括:理解数字信号处理的基本原理,包括离散时间信号与系统的概念、抽样定理、数字滤波器设计方法和数字信号处理的应用。
学习各种数字信号处理技术,如脉冲幅度调制、谱分析、滤波器设计与实现等。
使用实验设备实施信号模拟与数字信号处理操作,以便在实际系统中应用这些技术。
通过实验数据分析和处理,培养学生解决实际问题的能力,以及数据解读、实验方案设计和报告撰写的能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆交通大学学生实验报告实验课程名称数字信号处理开课实验室数学实验室学院理学院年级09 专业班信息与计算科学1班学生姓名张恒学号09180106开课时间2011 至2012 学年第2 学期实验一、Z 变换及离散时间系统分析(一)、实验目的1、通过本实验熟悉Z 变换在离散时间系统分析中的地位和作用。
2、掌握并熟练使用有关离散系统分析的MATLAB 调用函数及格式,以深入理解离散时间系统的频率特性。
(二)、实验内容对于一个给定的LSI 系统,其转移函数H(z)习惯被定义为H(z)=B(z)/A(z),即:a bn a n b zn a z a z a z n b z b z b A B H ------++++++++++==)1(...)3()2(1)1(...)3()2()1(b )z ()z ()z (2121 公式中b n 和a n 分别是H(Z)分子与分母多项式的阶次,在有关MATLAB 的系统分析的文件中,分子和分母的系数被定义为向量,即)]1(),...,2(),1([)]1(),...,2(),1([+=+=a b n a a a a n b b b b并要求)1(a =1,如果)1(a ≠1,则程序将自动的将其归一化为1。
1、系统的阶跃响应调用格式为:y=filter(b,a,x),其中x,y,a,b 都是向量。
2、单位抽样响应h(n)调用格式为:h=impz(b ,a ,N) 或 [h ,t]=impz(b ,a ,N)其中N 是所需的h(n)的长度,前者绘图时n 从1开始,而后者从0开始。
3、求频率响应)e (jw H基本调用格式为:[H ,w]=freqz(b ,a ,N,‘whole ’,Fs)其中N 是频率轴的分点数,建议N 为2的整次幂;w 是返回频率轴坐标向量,供绘图用;Fs 是抽样频率,若Fs=1,频率轴给出归一化频率;whole 指定计算的频率范围是从0~Fs,缺省时是从0~Fs/2。
4、离散系统的极零图调用格式:zplane(z,p) 或zplane(b,a)前者是在已知系统零点的列向量z和极点的列向量p的情况下画出的极零图,后者是在已知B(z),A(z)的情况下的极零图。
(三)、实验题目给定系统)8.0=zzH,编程并绘出系统的单位阶跃响应y(n),频率-/(2.0)(2+响应)e(jwH。
给出实验报告。
(四)、实验过程1、求系统的阶跃响应的程序代码:clear all;x=ones(100);% x(n)=1,n=1~100;t=1:100;% t用于后面的绘图;b=[0 0 -0.2]; % 形成向量b;a=[1 0 0.8]; % 形成向量a;y=filter(b,a,x);% 求所给系统的输出,本例实际上是求所给系统的阶跃响应;plot(t,x,'r.',t,y,'k-');grid on;% 将x(n)(绿色)y(n)(黑色)画在同一个图上;ylabel('x(n) and y(n)')xlabel('n')结果分析:单位阶跃响应是指系统在单位阶跃信号的作用下所产生的响应。
其单位阶跃序列()1,00,0n u n n ≥⎧=⎨<⎩,类似于连续时间信号与系统中的单位跃函数u(t),所以x(n)的取值0n ≥时为1。
()n δ和()u n 间的关系为()()(1)n u n u n δ=--,而0()()()(1)(2)m u n n m n n n δδδδ∞==-=+-+-+∑令n m k -=,代入上式可得()()nk u n k δ=∞=∑,u(n)即为单位阶跃响应,所以y(n)的值有逐渐趋于稳定的趋势,当n 越大时,其值也为1。
2、求系统的单位抽样响应的程序代码;clear; b=[0 0 -0.2]; a=[1 0 0.8]; [h,t]=impz(b,a,50); stem(t,h,'.');结果分析:单位抽样序列类似于连续时间信号与系统中的单位冲击函数δ,当t=0点脉宽趋于零,幅值趋于无限大,面积为1的信号。
系统()t=zzH,其初始幅值为-0.2,当n趋于无穷大时,其值趋于0。
-2.0)8.0/()(2+3、求频率响应)H的程序代码:e(jwclear;b=[0 0 -0.2];a=[1 0 0.8];[H,w]=freqz(b,a,256,1);Hr=abs(H);Hphase=angle(H);%相位角;Hphase=unwrap(Hphase); % 解卷绕subplot(211)plot(w,Hr);grid on;ylabel(' Amplitude Freq. Res.')subplot(212)plot(w,Hphase);grid on; ylabel(' Phase Freq. Res.')系统的频率响应是h(n)的傅里叶变换,其表达式为()()jwjwnn H e h n e∞-=-∞=∑,也是系统函数H (z )在单位圆上的值()()|jw jw z e H e H z ==。
由于题目中未给出抽样频率Fs 的值,作为缺省时处理,其频率范围是从0~Fs/2。
w 是返回频率轴坐标向量。
上图的第一个图表示(w, Hr )的关系,第二个图表示(w ,Hphase )的关系。
(五)实验体会通过此次实验,知道了在离散时间系统中Z 变换的重要作用,能够灵活运用MATLAB 中的调用函数求系统的单位阶跃响应,单位抽样响应和频率响应。
对z 变换有了更深的理解和掌握,希望在以后的学习中,能够有更大的进步和提高,取得更好的成绩。
实验二、快速傅里叶变换(一)、实验目的1、通过本实验进一步加深对快速傅里叶变换的理解。
2、会熟练运用fft,ifft,czt实现线性调频z变换。
(二)、实验内容1、快速傅里叶变换(fft)调用格式为 X=fft(x) 或 X=fft(x,N)对前者,若x的长度是2的整次幂,则按该长度实现x的快速变换,否则,实现的是非2 的整次幂的变换;对后者,N应为2的整次幂,若x得长度小于N,则补零,若超过N,则舍弃N以后的数据。
ifft的调用格式与之相同。
2、线性调频Z变换(CZT)CZT可用来计算单位圆上任一段曲线上的Z变换,做DFT时输入的点数N和输出的点数可以不相等,从而达到频域“细化”的目的。
CZT在单位圆上的Z变换就是傅里叶变换。
其调用格式为: X=czt(x,M,W,A)式中x是待变换的时域信号x(n),其长度设为N,M 是变换的长度,W确定变换的步长,A确定变换的起点。
若M=N,A=1,则CZT变成DFT。
(三)、实验题目设x(n)由三个实正弦组成,频率分别是8Hz,9Hz,10Hz,抽样频率为60 Hz,时域取256点,作CZT变换、IFFT变换和FFT变换,观察波形,更改参数,得出不同参数下的CZT变换波形。
给出实验报告。
(四)、实验过程1、作CZT变换的程序代码:clear all;% 构造三个不同频率的正弦信号的叠加作为试验信号N=256;f1=8;f2=9;f3=10;fs=60;stepf=fs/N;n=0:N-1;t=2*pi*n/fs;n1=0:stepf:fs/2-stepf;x=sin(f1*t)+sin(f2*t)+sin(f3*t);M=N;W=exp(-j*2*pi/M);% A=1时的czt变换A=1;Y1=czt(x,M,W,A);subplot(311)plot(n1,abs(Y1(1:N/2)));grid on;% DTFTY2=abs(fft(x));subplot(312)plot(n1,abs(Y2(1:N/2)));grid on;% 详细构造A后的cztM=60;f0=7.2;DELf=0.05;A=exp(j*2*pi*f0/fs);W=exp(-j*2*pi*DELf/fs);Y3=czt(x,M,W,A);n2=f0:DELf:f0+(M-1)*DELf; subplot(313);plot(n2,abs(Y3));grid on;结果分析:第一个图形表示A=1时的线性调频Z 变换(czt ),第二个图形表示离散时间傅里叶变换(DTFT ),第三个图形表示详细构造A 后的线性调频Z 变换(czt ),即改变M 和N 的值和其他相应的参数(如k z 点间的角度间隔0 ,频率分辨率,起始点0z 等),所得到的czt 变换的图形,由于变换长度M 的值减小,因此所得到的图形较第一个图形离散。
CZT 是用来计算单位圆上任一段曲线上的Z 变换,当M=N 且变换起点A=1,即起始抽样点0z z0的矢量半径长度为1时,CZT 在单位圆上的Z 变换就是傅里叶变换,也就是说,抽样序列在单位圆上的Z 变换,就等于其理想抽样信号的傅里叶变换。
因此第一个图形和第二个图形相同。
作IFFT 变换和FFT 变换的程序代码: clear all;% 产生三个正弦;N=256;% 2的8次幂,进行8级蝶形运算; f1=8;f2=9;f3=10;fs=60; n=0:N-1; t=2*pi*n/fs;x=sin(f1*t)+sin(f2*t)+sin(f3*t);% 应用FFT 求频谱; subplot(3,1,1);plot(x(1:N/4));%作图向量x 的第一到第N/4个值; xlabel('x=N/4'); ylabel('x(1:N/4)'); title('X');f=-0.5:1/N:0.5-1/N;X=fft(x); % 快速傅里叶变换; y=ifft(X);% 快速傅里叶逆变化 subplot(3,1,2);plot(f,fftshift(abs(X))); title('FFT'); subplot(3,1,3);plot(real(y(1:N/4))); %作图向量y 的第一到第N/4个值的实部; title('IFFT');(五)实验体会通过此次实验,使我对快速傅里叶变换有了更进一步的理解和加深,快速傅里叶变换只是离散傅里叶变换(DFT)的一种快速算法,FFT算法的基本思路是利用nkW的对称性、周期性和可约性,将长序列的DFT分解为短序列的NDFT,减小运算量。
对FFT算法,若x的长度是2的整次幂,则按该长度实现x的快速变换,否则,实现的是非2 的整次幂的变换;对后者,N应为2的整次幂,若x得长度小于N,则补零,若超过N,则舍弃N以后的数据。
FFT算法分为按时间抽选法(DIT)和按频率抽选法(DIF)。
且能够利用MATLAB编程,运用fft,ifft,czt实现线性调频z变换,从而得到fft,ifft,czt的图形,及其改变参数后的图形。