数字信号处理实验报告(实验二)
- 格式:doc
- 大小:253.00 KB
- 文档页数:9
dsp原理与应用实验报告总结DSP(Digital Signal Processing)数字信号处理是利用数字技术对信号进行处理和分析的一种方法。
在本次实验中,我们探索了DSP的原理和应用,并进行了一系列实验以验证其在实际应用中的效果。
以下是对实验结果的总结与分析。
实验一:数字滤波器设计与性能测试在本实验中,我们设计了数字滤波器,并通过性能测试来评估其滤波效果。
通过对不同类型的滤波器进行设计和实现,我们了解到数字滤波器在信号处理中的重要性和应用。
实验二:数字信号调制与解调本实验旨在通过数字信号调制与解调的过程,了解数字信号的传输原理与方法。
通过模拟调制与解调过程,我们成功实现了数字信号的传输与还原,验证了调制与解调的可行性。
实验三:数字信号的傅里叶变换与频谱分析傅里叶变换是一种重要的信号分析方法,可以将信号从时域转换到频域,揭示信号的频谱特性。
本实验中,我们学习了傅里叶变换的原理,并通过实验掌握了频谱分析的方法与技巧。
实验四:数字信号的陷波滤波与去噪处理陷波滤波是一种常用的去除特定频率噪声的方法,本实验中我们学习了数字信号的陷波滤波原理,并通过实验验证了其在去噪处理中的有效性。
实验五:DSP在音频处理中的应用音频处理是DSP的一个重要应用领域,本实验中我们探索了DSP在音频处理中的应用。
通过实验,我们成功实现了音频信号的降噪、均衡和混响处理,并对其效果进行了评估。
实验六:DSP在图像处理中的应用图像处理是另一个重要的DSP应用领域,本实验中我们了解了DSP在图像处理中的一些基本原理和方法。
通过实验,我们实现了图像的滤波、边缘检测和图像增强等处理,并观察到了不同算法对图像质量的影响。
通过以上一系列实验,我们深入了解了DSP的原理与应用,并对不同领域下的信号处理方法有了更深刻的认识。
本次实验不仅加深了我们对数字信号处理的理解,也为日后在相关领域的研究与实践提供了基础。
通过实验的结果和总结,我们可以得出结论:DSP作为一种数字信号处理的方法,具有广泛的应用前景和重要的实际意义。
实验一信号、系统及系统响应一、实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定的理解。
2、熟悉时域离散系统的时域特性。
3、利用卷积方法观察分析系统的时域特性。
4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
二、实验原理采样的的过程既是连续信号离散化的过程。
采用单位冲击串进行采样,为使采样信号能不失真的还原为采样前的信号,根据奈奎斯特采样率,采样频率应该大于信号最高频率的2倍。
因为时域的采样既是对时域的离散化处理,时域离散频域会进行周期延拓,为了防止频域频谱混叠,必须满足奈奎斯特采样定律。
线性卷积的过程为:反褶,移位,相乘,相加。
设一个N1点的序列与一个N2的序列进行卷积则得到N1+N2-1点的序列。
时域卷积,对应频域的相乘。
序列的傅里叶变换即DTFT 。
具有的性质有: 线性,移位性,对偶性,等等。
三、实验内容及步骤1)分析采样序列的特性。
产生采样序列()a x n ,A 444.128=,a =,0Ω=。
a 、 取采样频率s f 1kHz =,即T 1ms =。
观察所采样()a x n 的幅频特性()j X e ω和)(t x a 的幅频特性()X j Ω在折叠频率处有无明显差别。
应当注意,实验中所得频谱是用序列的傅立叶变换公式求得的,所以在频率量度上存在关系:T ω=Ω。
b 、改变采样频率,s f 300Hz =,观察()j X eω的变化并做记录。
c 、 进一步降低采样频率,s f 200Hz =,观察频谱混叠是否明显存在,说明原因,并记录()j X e ω的幅频曲线。
上图是采用不同采样频率时所得到的序列及其对应的傅里叶变换,从图中可以看到,当采样频率比较低时,频谱会发生混叠,且频率越低,混叠现象越明显。
增大采样频率可以有效地防止混叠。
2) 离散信号、系统和系统响应分析。
a 、观察信号()b x n 和系统h ()b n 的时域和频域持性;利用线形卷积求信号()b x n 通过系统h ()b n 的响应y(n),比较所求响应y(n)和h ()b n 的时域及频域特性,注意它们之间有无差异,绘图说明,并用所学结论解释所得结果。
《数字信号处理》实验报告课程名称:《数字信号处理》学院:信息科学与工程学院专业班级:通信1502班学生姓名:侯子强学号:02指导教师:李宏2017年5月28日实验一离散时间信号和系统响应一. 实验目的1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解2. 掌握时域离散系统的时域特性3. 利用卷积方法观察分析系统的时域特性4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析二、实验原理1. 采样是连续信号数字化处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。
对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号:ˆ()()()a a xt x t p t = 式中()p t 为周期冲激脉冲,$()a x t 为()a x t 的理想采样。
()a x t 的傅里叶变换为µ()a X j Ω: 上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T。
也即采样信号的频谱µ()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成的。
因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即而()()j j n n X e x n e ωω∞-=-∞=∑为采样序列的傅里叶变换()()n P t t nT δ∞=-∞=-∑µ1()()*()21()n a a a s X j X j P j X j jn T π∞=-∞Ω=ΩΩ=Ω-Ω∑µ()()|j a TX j X e ωω=ΩΩ=2. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
(数字信号处理)实验报告实验名称 实验二 离散信号的卷积和 实验时间 年 9 月 28 日 专业班级 学 号 姓 名成 绩 教师评语: 一、 实验目的1、掌握两个离散信号卷积和的计算方法和编程技术。
2、进一步熟悉用MATLAB 描绘二维图像的方法。
二、 实验原理与计算方法两个离散序列x(n)与y(n)的卷积和f(n)定义为∑∞-∞=-=*=m m n y m x n y n x n f )()()()()(由于通常信号处理中所碰到的都是有始信号或有限时间信号,因此在实际计算卷积和时,求和是在有限范围内进行的。
计算过程中上下限的选取和所得结果的分布区间取决于参与卷积的两个序列,下面将分别进行讨论: 1、两个从n = 0开始的序列)()()(n u n x n x =和)()()(n u n y n y =的卷积和∑∑=∞-∞=-=--=nm m n u m n y m x m n u m n y m u m x n f 0)()]()([)()()()()( (1)上式右边因子u(n)表示卷积和的结果也是一个从n = 0开始的序列。
2、从n = n1开始的序列)()()(1n n u n x n x -=和从n = n2开始的序列)()()(2n n u n y n y -=的卷积和,其中n1和n2为任意整数。
∑∑-=∞-∞=---=----=21)()]()([)()()()()(2121n n n m m n n n u m n y m x n m n u m n y n m u m x n f (2)上式右边因子u(n-n1-n2)表示卷积和是一个从n = n1+n2开始的序列。
3、从n = n1开始的长度为N1的加窗序列)()()(1n w n x n x N =和从n = n2开始的长度为N2的加窗序列)()()(2n w n y n y N =的卷积和,其中⎩⎨⎧-+≤≤=otherwise 0 1 1 )(1111N n n n n w N⎩⎨⎧-+≤≤=o t h e r w i s e 0 11 )(2222N n n n n w N则∑∞-∞=--=m N N m n w m n y m wm x n f )()()()()(21(3)所得卷积和也是一个加窗序列,从n = n1+ n2开始,长度为N1+ N2-1。
实验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 点离散序列,这里为窗函数。
实验报告课程名称:数字信号处理实验任课教师:杨鉴实验名称:离散时间系统的时域分析年级、专业:2015级通信工程学号:**********姓名:***日期:2017 年10 月9 日云南大学信息学院一、实验1.通过MATLAB仿真一些简单的离散时间系统,并研究他们的时域特性。
2.掌握卷积在MATLAB的算法并理解滤波的概念。
二、实验内容1. 假定另一个系统为y[n]=x[n]x[n-1],修改程序P2.3,计算这个系统的输出序列y1[n],y2[n]和y[n]。
比较y[n]和yt[n]。
这两个序列是否相等?该系统是线性系统吗?2. 考虑另一个系统:y[n]=nx[n]+x[n-1],修改程序P2.4,以仿真上面的系统并确定该系统是否为时不变系统。
3.修改程序P2.7,计算长度为15的序列h[n]和长度为10的序列x[n]的卷积,重做问题Q2.28。
h[n]和x[n]的样本值你自己给定。
4.修改程序P2.9,将输入序列改变成扫频正弦序列(长度为301、最低频率为0、最高频率为0.5)。
那个滤波器能更好的抑制输入信号x[n]的高频分量?三、主要算法与程序Q2.11:clf;n = 0:40;a = 2;b = -3;f1=0.1;f2=0.4;x11=[0 cos(2*pi*f1*n) 0];x12=[0 0 cos(2*pi*f1*n)];x21=[0 cos(2*pi*f2*n) 0];x22=[0 0 cos(2*pi*f2*n)];x = a*x11 + b*x21;y1 = x11.*x12;y2 = x21.*x22;xd = a*x12+b*x22;y = x.*xd;yt = a*y1 + b*y2;d = y - yt; % Compute the difference output d[n]% Plot the outputs and the difference signalsubplot(3,1,1)stem([0 n 0],y);ylabel('Amplitude');title('Output Due to Weighted Input: a \cdot x_{1}[n] + b \cdot x_{2}[n]');subplot(3,1,2)stem([0 n 0],yt);ylabel('Amplitude');title('Weighted Output: a \cdot y_{1}[n] + b \cdot y_{2}[n]'); subplot(3,1,3)stem([0 n 0],d);xlabel('Time index n');ylabel('Amplitude');title('Difference Signal');Q2.17:clf;n = 0:40; D = 10;a = 3.0;b = -2;x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);xd = [zeros(1,D) x];nd=0:length(xd)-1;y=(n.*x)+[0 x(1:40)];yd=(nd.*xd)+[0 xd(1:length(xd)-1)];d = y - yd(1+D:41+D);subplot(3,1,1)stem(n,y);ylabel('振幅');title('输出 y[n]'); grid;subplot(3,1,2)stem(n,yd(1:41));ylabel('振幅');title('由于延时输入 x[n-10]的输出'); grid;subplot(3,1,3)stem(n,d);xlabel('时间序号 n'); ylabel('振幅');title('差值信号');grid;Q2.29:clf;h = [3 2 1 -2 1 0 -4 0 3 1 5 4 0 3 5]; % impulse responsex = [1 -2 3 -4 3 2 1 5 6 1]; % input sequencey = conv(h,x);n = 0:23;subplot(2,1,1);stem(n,y);xlabel('时间序号n');ylabel('振幅');title('用卷积得到的输出'); grid;x1 = [x zeros(1,14)];y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('时间序号 n'); ylabel('振幅');title('由滤波生成的输出'); grid;Q2.35:f=w/2pi=(2a*n+b)/2pi=[0,0.5],所以b=0,a*n<=0.5*pi,当n=300时,a取pi/600。
《数字信号处理》—实验指导数字信号处理课程组电子与信息工程学院班级:姓名:学号:综合评定:成绩:指导教师签字:实验一 典型离散信号及其MATLAB 实现一、实验目的1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。
2. 掌握MATLAB 产生常用离散时间信号的编程方法。
3. 掌握MATLAB 计算卷积的方法。
二、实验原理(一)MATLAB 常用离散时间信号1. 单位抽样序列:⎩⎨⎧=01)(n δ 00≠=n n在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n kn2.单位阶跃序列:⎩⎨⎧01)(n u<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列:n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-=5.指数序列:na n x =)(在MATLAB 中:na x N n .^1:0=-=6.y=fliplr(x)——信号的翻转; y=square(x)——产生方波信号y=sawtooth(x)——产生锯齿波信号; y=sinc(x)——产生sinc 函数信号。
(二)离散时间信号的卷积由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。
离散时间信号的卷积定义为∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。
MATLAB 求离散时间信号卷积和的命令为conv ,其语句格式为y=conv(x,h)其中,x 与h 表示离散时间信号值的向量;y 为卷积结果。
数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解2. 掌握时域离散系统的时域特性3. 利用卷积方法观察分析系统的时域特性4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析二、实验原理1. 采样是连续信号数字化处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。
对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: 式中()p t 为周期冲激脉冲,()a x t 为()a x t 的理想采样。
()a x t 的傅里叶变换为()a X j Ω:上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。
也即采样信号的频谱()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成的。
因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号ˆ()()()a a xt x t p t =1()()*()21()n a a a s X j X j P j X j jn T π∞=-∞Ω=ΩΩ=Ω-Ω∑()()n P t t nT δ∞=-∞=-∑计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即而()()j j n n X e x n e ωω∞-=-∞=∑为采样序列的傅里叶变换2. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
实验二IIR数字滤波器设计及软件实现1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
2.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。
第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。
3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。
由图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。
图1 三路调幅信号st 的时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。
实验一时域离散信号的产生及时域处理实验目的:了解Matlab软件数字信号处理工具箱的初步使用方法。
掌握其简单的Matlab语言进行简单的时域信号分析。
实验内容:[1.1]已知两序列x1=[0,1,2,3,4,3,2,1,0];n1=[-2:6];x2=[2,2,0,0,0,-2,-2],n2=[2:8].求他们的和ya及乘积yp. 程序如下:x1=[0,1,2,3,4,3,2,1,0];ns1=-2;x2=[2,2,0,0,0,-2,-2];ns2=2;nf1=ns1+length(x1)-1;nf2=ns2+length(x2)-1;ny=min(ns1,ns2):max(nf1,nf2);xa1=zeros(1,length(ny));xa2=xa1;xa1(find((ny>=ns1)&(ny<=nf1)==1))=x1;xa2(find((ny>=ns2)&(ny<=nf2)==1))=x2;ya=xa1+xa2yp=xa1.*xa2subplot(4,4,1),stem(ny,xa1,'.')subplot(4,1,2),stem(ny,xa2,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,3),stem(ny,ya,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,4),stem(ny,yp,'.')line([ny(1),ny(end)],[0,0])[1.2]编写产生矩形序列的程序。
并用它截取一个复正弦序列,最后画出波形。
程序如下:clear;close alln0=input('输入序列起点:n0=');N=input('输入序列长度:N=');n1=input('输入位移:n1=');n=n0:n1+N+5;u=[(n-n1)>=0];x1=[(n-n1)>=0]-[(n-n1-N)>=0];x2=[(n>=n1)&(n<(N+n1))];x3=exp(j*n*pi/8).*x2;subplot(2,2,1);stem(n,x1,'.');xlabel('n');ylabel('x1(n)');axis([n0,max(n),0,1]);subplot(2,2,3);stem(n,x2,'.');xlabel('n');ylabel('x2(n)');axis([n0,max(n),0,1]);subplot(2,2,2);stem(n,real(x3),'.'); xlabel('n');ylabel('x3(n)的实部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);subplot(2,2,4);stem(n,imag(x3),'.'); xlabel('n');ylabel('x3(n)的虚部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);[1.3]利用已知条件,利用MATLAB生成图形。
数字信号处理实验报告通信0303 汪勇 学号:实验一:信号、系统及系统响应 1、实验目的:(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解. (2) 熟悉时域离散系统的时域特性(3) 利用卷积方法观察分析系统的时域特性.(4) 掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号,离散信号及系统响应进行频域分析.2、实验原理简述:对一个连续信号)(t xa 进行理想采样的过程可用下式表示:^x a(t)= )(t xa p(t)其中^x a(t)为)(t xa 的理想采样,p(t)为周期冲激脉冲,即p(t)=∑∞-∞=n δ(t-nT )^x a(t)的傅立叶变换^X a(j Ω)为^X a(j Ω)=[])(1s m Tn aX Ω-Ω∑∞-∞=上式表明^X a(j Ω)为)(Ωj Xa 的周期延拓,其周期延拓为采样角频率(T s π2=Ω).采样前后信号的频谱示意图见图.只有满足采样定理时,才不会发生频率混叠失真.离散信号和系统在时域均可用序列来表示。
为了在数字计算机上观察分析各种序列的频域特性,通常对()e j X ω在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n)有()()ee nj N n kj k m x Xωω--=∑=10其中,1,0,2==k k Mkπω,M-1 一个时域离散线性非移变系统的输入/输出关系为y(n)=x(n)*h(n)=()()m n h m x m -∑∞-∞=如果x(n)和h(n)的长度分别为M 和N ,则y(n)的长度为L=N+M-1。
上述卷积运算也可在频域实现()()()e e e j j j H X Yωωω=3、实验内容及步骤首先认真复习采样理论.离散信号与系统.线性卷积.序列的傅立叶变换及性质等有关内容,了解本实验原理与方法.1>编制实验用主程序及相应子程序.①信号产生子程序,用于产生实验中要用的下列信号序列: a) 采样信号序列:对下面连续信号:()()()t u t A t ex ataΩ-=0sin进行采样,可得到采样序列()()()()500,sin 0<≤==Ω=n n u nT A nT n e x x anTa a其中A 为幅度因子,a 为衰减因子,是模拟角频率,T 为采样间隔.这些参数都要在实验过程中由键盘输入,产生不同的x(t)和x(n)b) 单位脉冲序列:()[]n n x bδ=c) 矩形序列:()()10,==N n n R x Nc②系统单位脉冲响应序列产生子程序.本实验要用到两种FIR 系统.()()()()()()()325.215.210-+-+-+==n n n n n n n hR h baδδδδ ③有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积.可以直接调用MATLAB 语言中的卷积函数conv 。
实验二离散时间信号时域表示一、实验目的:1、掌握序列的产生方法。
2、熟悉关于序列的简单运算。
3、序列及其运算结果的可视化表示。
二、实验内容和步骤:1、编写sy2_1.m程序文件,生成单位抽样序列和单位阶跃序列(n=-10~20),用图形显示。
2、编写sy2_2.m程序文件,生成一个实数值指数序列(n=0~35,a=1.2,k=0.2),用图形显示。
3、编写sy2_3.m程序文件,生成扫频正弦序列x(n)=cos(π/200*n2)(n=0~100),用图形显示。
4、编写sy2_4.m程序文件以实现下列功能:用rand函数产生随机噪声,在一个已知确定信号上,然后采用三点滑动平均算法y(n)=1/3(x[n-1]+x[n]+x[n+1])实现信号平滑,用图形显示平滑前后的信号。
三、实验数据:M文件sy2_1.m:n=-10:20;f=[zeros(1,10),1,zeros(1,20)];stem(n,f);title('单位抽样序列');xlabel('n');ylabel('f');单位抽样序列nM文件sy2_2.m:n=-10:20;x=[zeros(1,10),1,ones(1,20)]; stem(n,x);title('单位阶跃序列');xlabel('n');ylabel('f');单位阶跃序列nM文件sy2_3.m:n=0:0.2:35;a=1.2;f=a.^n;stem(n,f);title('指数序列');xlabel('n');ylabel('f');指数序列n fM 文件sy2_4.m:n=0:100;f=cos(pi*n.^2/200);stem(n,f);title('扫频正弦序列');xlabel('n');ylabel('f');扫频正弦序列n fM 文件sy2_5.m:n=[1:128];x=0.5-rand(1,128);f=1.5*sin(60*pi*0.001*n);f0=1.5*sin(60*pi*0.001*(n-1));f1=1.5*sin(60*pi*0.001*(n+1));y=x+f;y0=x+f0;y1=x+f1;z=1/3*(y0+y+y1);plot(n,y);title('平滑信号');xlabel('n');ylabel('y');020406080100120140平滑信号n y数据分析:扫频正弦序列没有清晰表现出图形,应将stem(n,f)改为plot(n,f)。
大连理工大学实验报告学院(系):专业:班级:姓名:学号:组:___实验时间:实验室:实验台:指导教师签字:成绩:实验二电话拨号音合成与识别一、实验结果与分析数字拨号音频谱分析(代码与频谱):n=[1:410];fs=8192;d1=sin(2*pi*697/fs*n)+sin(2*pi*1209/fs*n); D1=fft(d1); t1=(0:length(d1)-1)*fs/length(d1)-fs/2; figure(1);plot(t1,fftshift(abs(D1)));title('按键‘1’的频谱'); d1=sin(2*pi*697/fs*n)+sin(2*pi*1336/fs*n); D1=fft(d1); figure(2);plot(t1,fftshift(abs(D1)));title('按键‘2’的频谱'); d1=sin(2*pi*697/fs*n)+sin(2*pi*1477/fs*n); D1=fft(d1); figure(3);plot(t1,fftshift(abs(D1)));title('按键‘3’的频谱'); d1=sin(2*pi*770/fs*n)+sin(2*pi*1209/fs*n); D1=fft(d1); figure(4);plot(t1,fftshift(abs(D1)));title('按键‘4’的频谱'); d1=sin(2*pi*770/fs*n)+sin(2*pi*1336/fs*n); D1=fft(d1); figure(5);plot(t1,fftshift(abs(D1)));title('按键‘5’的频谱'); d1=sin(2*pi*770/fs*n)+sin(2*pi*1477/fs*n); D1=fft(d1); figure(6);plot(t1,fftshift(abs(D1)));title('按键‘6’的频谱'); d1=sin(2*pi*852/fs*n)+sin(2*pi*1209/fs*n); D1=fft(d1); figure(7);plot(t1,fftshift(abs(D1)));title('按键‘7’的频谱'); d1=sin(2*pi*852/fs*n)+sin(2*pi*1336/fs*n); D1=fft(d1); figure(8);plot(t1,fftshift(abs(D1)));title('按键‘8’的频谱'); d1=sin(2*pi*852/fs*n)+sin(2*pi*1477/fs*n); D1=fft(d1);figure(9);plot(t1,fftshift(abs(D1)));title('按键‘9’的频谱');d1=sin(2*pi*941/fs*n)+sin(2*pi*1209/fs*n); D1=fft(d1); figure(10); plot(t1,fftshift(abs(D1)));title('按键‘*’的频谱');d1=sin(2*pi*941/fs*n)+sin(2*pi*1336/fs*n); D1=fft(d1); figure(11); plot(t1,fftshift(abs(D1)));title('按键‘0’的频谱');d1=sin(2*pi*941/fs*n)+sin(2*pi*1477/fs*n); D1=fft(d1); figure(12); plot(t1,fftshift(abs(D1)));title('按键‘#’的频谱');频谱图如下:-2000-1500-1000-0050100150200250按键‘1’的频谱-2000-1500-1000-0 050100150200250按键‘2’的频谱-2000-1500-1000-0 50100150200250按键‘3’的频谱-2000-1500-1000-0 50100150200250按键‘4’的频谱-2000-1500-1000-0 050100150200250按键‘5’的频谱-2000-1500-1000-0 050100150200250按键‘6’的频谱-2000-1500-1000-0 050100150200250按键‘7’的频谱-2000-1500-1000-0 050100150200250按键‘8’的频谱-2000-1500-1000-0 050100150200250按键‘9’的频谱-2000-1500-1000-0 050100150200250按键‘*’的频谱-2000-1500-1000-0050100150200250按键‘0’的频谱温馨推荐您可前往百度文库小程序享受更优阅读体验不去了立即体验-2000-1500-1000-0050100150200250按键‘#’的频谱图形电话拨号面板的制作:首先是框架的搭建:利用callback 在.m 文件中对各个模块进行代码的编辑(下面列出主要部分):1、数字0~9的显示与发声(以数字‘7’为例):% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)n0=strcat(get(handles.numshow,'string'),'7'); % 获取数字号码set(handles.numshow,'string',n0); % 显示号码n=[1:handles.DTMFnum]; % 每个数字410 个采样点表示d0=sin(2*pi*852/handles.fs*n)+sin(2*pi*1209/handles.fs*n); % 对应行频列频叠加space=zeros(1,handles.DTMFnum); %400 个0 模拟静音信号phone=[handles.NUM,d0];handles.NUM=[phone,space]; % 存储连续的拨号音信号guidata(hObject, handles);wavplay(d0,8192);2、删除键‘*’的代码:% --- Executes on button press in pushbutton11.function pushbutton11_Callback(hObject, eventdata, handles)% hObject handle to pushbutton11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDA TA)n=[1:1000];num=get(handles.numshow,'string');l=length(num);n11=strrep(num,num,num(1:l-1));d11=sin(0.7217*n)+sin(0.9273*n);set(handles.numshow,'string',n11);L=length(handles.NUM);handles.NUM=handles.NUM(1:L-820);guidata(hObject, handles);wavplay(d11,8192);3、确认键‘#’的代码:% --- Executes on button press in pushbutton12.function pushbutton12_Callback(hObject, eventdata, handles)% hObject handle to pushbutton12 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDA TA)n0=strcat(get(handles.numshow,'string'),'#'); % 获取数字号码set(handles.numshow,'string',n0); % 显示号码n=[1:handles.DTMFnum]; % 每个数字410 个采样点表示d0=sin(2*pi*941/handles.fs*n)+sin(2*pi*1477/handles.fs*n); % 对应行频列频叠加guidata(hObject, handles);wavplay(d0,8192);4、清空键‘Reset’的代码:% --- Executes on button press in btFW.function btFW_Callback(hObject, eventdata, handles)% hObject handle to btFW (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA) handles.NUM=[];set(handles.numshow,'string',[]); % 显示号码set(handles.numRec,'string',[]); % 显示号码guidata(hObject, handles);5、显示键的代码:% --- Executes on button press in btRec.function btRec_Callback(hObject, eventdata, handles)% hObject handle to btRec (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)L=length(handles.NUM);n=L/handles.DTMFsum;number='';for i=1:nj=(i-1)*handles.DTMFsum+1;d=handles.NUM(j:j+(handles.DTMFnum-1)); % 截取出每个数字f=fft(d,8192); % 以N=2048 作FFT 变换a=abs(f);p=a.*a/handles.fs; % 计算功率谱% p=a.*a/10000; % 计算功率谱num(1)=find(p(1:1000)==max(p(1:1000))); % 找行频num(2)=1000+find(p(1000:1700)==max(p(1000:1700))); % 找列频if (num(1) < 730)row=1; % 确定行数elseif (num(1) < 810)row=2;elseif (num(1) < 900)row=3;elserow=4;endif (num(2) < 1260) column=1; % 确定列数elseif (num(2) < 1400) column=2;elsecolumn=3;endz=[row,column]; % 确定数字if z==[4,2]tel=0;elseif z==[1,1]tel=1;elseif z==[1,2]tel=2;elseif z==[1,3]tel=3;elseif z==[2,1]tel=4;elseif z==[2,2]tel=5;elseif z==[2,3]tel=6;elseif z==[3,1]tel=7;elseif z==[3,2]tel=8;elseif z==[3,3]tel=9;endt(i)=tel;c=strcat(number,int2str(tel)); number=c;i=i+1;endset(handles.numRec,'string',number); % 显示号码GUI界面的操作:(1)初始化界面(2)输入数字后的界面(3)按‘*’后删除一位(4)按‘#’后确认键(5)按下显示键显示出来(6)按下Reset键清空二、讨论、建议、质疑做本实验分两部分,第一部分是做图形化(GUI)界面的设计,第二部分是做电话信号的频谱分析。
实验二 快速傅里叶变换(FFT)及其应用一、思考题(1) 实验中的信号序列()c x n 和()d x n 在单位圆上的z 变换频谱()()c j j d X e X e ωω和会相同吗如果不同,说出哪一个低频分量更多一些,为什么答:设j Z r e ω=⨯ ()()n n G z g n z ∞-=-∞=⨯∑因为为单位圆,故r=1.因为()()j j n n G e g n eωω∞-=-∞=⨯∑,故3723456704()(8)23432j j n j n j j j j j j j c n n X e nen e e e e e e e e ωωωωωωωωωω---------===+-=++++++∑∑ 7235670()(4)43223j j n j j j j j j d n X e n ee e e e e e ωωωωωωωω-------==-=+++---∑比较可知频谱不相同,()c X n 的低频分量多。
(2) 对一个有限长序列进行DFT 等价于将该序列周期延拓后进行DFS 展开,因为DFS 也只是取其中一个周期来运算,所以FFT 在一定条件下也可以用以分析周期信号序列。
如果实正弦信号()sin(2),0.1x n fn f π== 用16点FFT 来做DFS 运算,得到的频谱是信号本身的真实谱吗为什么答:针对原来未经采样的连续时间信号来说,FFT 做出来的永远不会是信号本身的真实频谱,只能够是无限接近。
FFT 频谱泄露问题是一定会存在的,因为毕竟采样率再高,也不能完全达到原来的连续时间信号准确。
原题的采样率是1/10,就是将2*pi 分成10份,即每个正弦波周期进行10次采样,这样的采样率很低,而最后你只截取16个点来做分析,泄露一般会挺严重,看到的频谱,应该是一个上头尖,下面慢慢变宽的尖锥形,而纯正的正弦波的理想频谱应该是在某频点只有一个尖峰。
二.?实验原理:?(1)混叠:采样序列的频谱是被采样信号频谱的周期延拓,当采样频率不满足奈奎斯特采样定理的时候,就会发生混叠,使得刺痒后的序列信号的频谱不能真实的反映原采样信号的频谱。
学生实验报告开课学院及实验室: 电子楼317 2013年 3 月18 日学院机械与电气工程学院年级、专业、班姓名学号 实验课程名称 数字信号处理实验成绩 实验项目名称实验二 求线性时不变系统的输出指导老师一、实验目的1. 学习用递推法求解差分方程的方法。
2. 学习用线性卷积法求网络输出的方法。
二、实验原理已知()h n 和输入()x n ,求系统输出()y n ,也可以用线性卷积法进行。
线性卷积法的公式如下:()()()y n x n h n =* ()()m x m h n m ∞=-∞=-∑图2.1 用递推法求解差分方程的框图计算时,关键问题是根据()x n 和()h n 的特点,确定求和的上下限。
例如,()0.9()nh n u n =,10()()x n R n =,卷积公式为10()()0.9()n m m y n R m u n m ∞-=-∞=-∑根据上式中的10()R n ,限制非零区间为:09m ≤≤,由()u n 限制非零区间为:m n ≤。
由上面的不等式知道m 的取值和n 有关,可以分几种情况: 当n <0时,()0y n =当0n ≤<9时,()0.9nn m m y n -==∑当9n ≥时,9()0.9n m m y n -==∑最后得到:再用计算机计算()y n 。
如果给定的()x n 和()h n 是一些离散数据,更方便的是用MATLAB 语言的数字信号工具箱函数conv 计算两个n 的取值从零开始的有限长序列的线性卷积。
三、使用仪器、材料1、硬件:计算机2、软件:Matlab四、实验步骤1.已知系统的差分方程如式:()0.9(1)()y n y n x n =-+(1) 输入信号=10()()x n R n =,初始条件(1)1y -=,求解输出()y n ; (2) 输入信号=10()()x n R n =,初始条件(1)0y -=,求解输出()y n 。
数字信号处理实验二DFT和FFT一.实验内容1.认真复习周期序列DFS、有限长序列DFT的概念、旋转因子的定义、以及DFS和DFT的性质等有关内容;复习基2-FFT的基本算法,混合基-FFT的基本算法、Chirp-Z变换的算法等快速傅立叶变换的方法。
2.掌握有限长序列的循环移位、循环卷积的方法,对序列共轭对称性的含义和相关内容加深理解和掌握,掌握利用DFT分析序列的频谱特性的基本方法。
3.掌握FFT算法的基本原理和方法、Chirp-Z变换的基本原理和方法,掌握利用FFT分析序列的频谱特性的方法。
4.熟悉利用MATLAB进行序列的DFT、FFT的分析方法。
二.实验内容a.设周期序列某(n)={…,0,1,2,3,0,1,2,3,0,1,2,3,….},求该序列的离散傅立叶级数某",(k)=DFS[某(n)],并画出DFS的幅度特性。
在matlab中新建函数df:function[某k]=df(某n,N)n=0:1:N-1;k=0:1:N-1;Wn=e某p(-j某2某pi/N);nk=n'某k;Wnk=Wn.^nk;某k=某n某Wnk;~~在matlab中输入以下代码:某n=[0,1,2,3];k=0:1:3;N=4;-1-某k=df(某n,N);y=ab(某k);tem(k,y);title('周期序列的离散傅立叶级数');生成图像如下:由定义可知,对于周期序列,根据离散傅里叶级数公式即可求出,实验中显示了一个周期的傅里叶级数。
b.设周期方波序列为某(n)=1(mNnmNL-1)(m=0,1,2,....)0(mNLn(m1)N-1)其中N为基波周期,L/N是占空比。
(1)用L和N求|某",(k)|的表达式;(2)当L和N分别为:L=5,N=20;L=5,N=40;L=5,N=60以及-2-L=7,N=60时画出DFS的幅度谱;(3)对以上结果进行讨论,总结其特点和规律。
实验二 时域采样与频域采样1. 实验目的:(1) 掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息。
(2) 掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。
(3) 会用MATLAB 语言进行时域抽样与信号重建的方法,以及频域抽样与恢复时程序的编写方法。
2. 实验原理:了解时域采样定理的要点,理解理想采样信号)(ˆt xa 和模拟信号)(t x a 之间的关系,了解频域采样定理的要点,掌握这两个采样理论的结论:“时域采样频谱周期延拓,频域采样时域信号周期延拓”。
3. 实验内容:(1)时域采样理论的验证。
给定模拟信号,)()sin()(0t u t Ae t x t a Ω=-α式中A=444.128,α=502π,0Ω=502πrad/s(2)用DFT(FFT)求该模拟信号的幅频特性,选取三种采样频率,以验证时域采样理论。
(3)编写实验程序,计算)(1n x 、)(2n x 和)(3n x 的幅度特性,并绘图显示。
观察分析频谱混叠失真。
(4)频域采样理论的验证。
给定信号如下:⎪⎩⎪⎨⎧≤≤-≤≤+=其它02614271301)(n n n n n x(5)编写程序分别对频谱函数()FT[()]j X e x n ω=在区间]2,0[π上等间隔采样32和16点,得到)()(1632k X k X 和,再分别对)()(1632k X k X 和进行32点和16点IFFT ,得到)()(1632n x n x 和。
(6)分别画出()j X e ω、)()(1632k X k X 和的幅度谱,并绘图显示x(n)、)()(1632n x n x 和的波形,进行对比和分析,验证总结频域采样理论。
4. 思考题:如果序列x(n)的长度为M ,希望得到其频谱()j X e ω在]2,0[π上的N 点等间隔采样,当N<M 时, 如何用一次最少点数的DFT 得到该频谱采样?答:将长序列分段分段计算,这种分段处理方法有重叠相加法和重叠保留法两种。
5. 实验报告及要求:a)运行程序打印要求显示的图形。
b)分析比较实验结果,简述由实验得到的主要结论。
c)简要回答思考题。
d)附上程序清单和有关曲线。
6.实验结果:***以下为实验内容1*** (1). 仿真程序:时域采样理论验证Tp=64/1000; %确定截断时间的大小Fs=1000;T=1/Fs; % Fs=1000;T=1/Fs;M=Tp*Fs;n=0:M-1; %产生M 长采样序列x(n) A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; %式中A=444.128,α=502π,Ω=502πrad/sxnt=A*exp(-alph*n*T).*sin(omega*n*T); %)()sin()(0t u t Ae t x t a Ω=-αXk=T*fft(xnt,M); %M点FFT[(xnt)]yn='xa(nT)'; %yn命名为xa(nt)subplot(3,2,1);tstem(xnt,yn);box on; %对产生第一个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(a) Fs=1000Hz'); %将该图形命名为“(a) Fs=1000Hz”k=0:M-1; % k从0开始以默认步长为1取到m-1 fk=k/Tp; %确定fksubplot(3,2,2);plot(fk,abs(Xk)); %对产生第二个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(a) T*FT[xa(nT)],Fs=1000Hz');%将该图形命名为“(a)T*FT[xa(nT)],Fs=1000Hz ”xlabel('f(Hz)');ylabel('幅度'); %将y 轴命名为幅度, x 轴命名为f(Hz) axis([0,Fs,0,1.2*max(abs(Xk))]) %控制坐标值的大小Fs=300;T=1/Fs; % Fs=300;T=1/Fs;M=ceil(Tp*Fs);n=0:M-1; %产生M 长采样序列x(n) xnt=A*exp(-alph*n*T).*sin(omega*n*T); %)()sin()(0t u t Ae t x t a Ω=-αXk=T*fft(xnt,M); %M 点FFT[(xnt)]yn='xa(nT)'; %yn 命名为xa(nt)subplot(3,2,3);tstem(xnt,yn);box on; %对产生第三个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(b) Fs=300Hz'); %将该图形命名为“(b) Fs=300Hz ” k=0:M-1; % k 从0开始以默认步长为1取到m-1 fk=k/Tp; %确定fksubplot(3,2,4);plot(fk,abs(Xk)); %对产生第四个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(b) T*FT[xa(nT),Fs=300Hz'); %将该图形命名为“(b)T*FT[xa(nT),Fs=300Hz ”xlabel('f(Hz)');ylabel('幅度'); %将y 轴命名为幅度, x 轴命名为f(Hz) axis([0,Fs,0,1.2*max(abs(Xk))]) %控制坐标值的大小Fs=200;T=1/Fs; % Fs=200;T=1/Fs;M=ceil(Tp*Fs);n=0:M-1; %产生M 长采样序列x(n) xnt=A*exp(-alph*n*T).*sin(omega*n*T); %)()sin()(0t u t Ae t x t a Ω=-αXk=T*fft(xnt,M); %M 点FFT[(xnt)]yn='xa(nT)'; %yn 命名为xa(nt)subplot(3,2,5);tstem(xnt,yn);box on; %对产生第五个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(c) Fs=200Hz'); %将该图形命名为“(c) Fs=200Hz ” k=0:M-1; % k 从0开始以默认步长为1取到m-1fk=k/Tp; %确定fksubplot(3,2,6);plot(fk,abs(Xk)); %对产生第六个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(c) T*FT[xa(nT),Fs=200Hz'); %将该图形命名为“(c)T*FT[xa(nT),Fs=200Hz ”xlabel('f(Hz)');ylabel('幅度'); %将y 轴命名为幅度, x 轴命名为f(Hz) axis([0,Fs,0,1.2*max(abs(Xk))]) %控制坐标值的大小 (2). 经过matlab 软件调试后的结果:nx a (n T )(a) Fs=1000Hz500100000.51(a) T*FT[xa(nT)],Fs=1000Hz f(Hz)幅度51015nx a (n T )(b) Fs=300Hz10020030000.51(b) T*FT[xa(nT),Fs=300Hzf(Hz)幅度nx a (n T )(c) Fs=200Hz0501001502000.5(c) T*FT[xa(nT),Fs=200Hzf(Hz)幅度对实验内容1的总结:设连续信号()a x t 的最高截止频率为m f ,只有当采样频率2s m f f 时,才可唯一地恢复出原连续信号()a x t ,否则会造成采样信号中的频谱混叠现象。
***以下为实验内容2*** (1). 仿真程序:频域采样理论验证M=27;N=32; n=0:M;xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0; xn=[xa,xb]; %产生M 长三角波序列x(n)Xk=fft(xn,1024); %1024点FFT[x(n)],用于近似序列x(n)的TF X32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n) X16k=X32k(1:2:N); %隔点抽取X32(k )得到X16(K) x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box on; %对产生第二个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(b)三角波序列x(n)'); %将该图形命名为“(b)三角波序列x(n)” xlabel('n');ylabel('x(n)'); %将y 轴命名为x(n) , x 轴命名为n axis([0,32,0,20]) %控制坐标值的大小 k=0:1023;wk=2*k/1024;subplot(3,2,1);plot(wk,abs(Xk)); %对产生第一个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(a)FT[x(n)]'); %将该图形命名为“(a)FT[x(n)]” xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');%将y 轴命名为|X(e^j^\omega)|, x轴命名为\omega/\piaxis([0,1,0,200]) %控制坐标值的大小 k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box on ;%对产生第三个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(c) 16点频域采样'); %将该图形命名为“(c) 16点频域采样”xlabel('k');ylabel('|X_1_6(k)|'); %将y轴命名为|X_1_6(k)|, x轴命名为kaxis([0,8,0,200]) %控制坐标值的大小n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box on;%对产生第四个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(d) 16点IDFT[X_1_6(k)]'); %将该图形命名为“(d) 16点IDFT[X_1_6(k)]”xlabel('n');ylabel('x_1_6(n)'); %将y轴命名为x_1_6(n), x轴命名为naxis([0,32,0,20]) %控制坐标值的大小k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box on;%对产生第五个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(e) 32点频域采样'); %将该图形命名为“(e) 32点频域采样”xlabel('k');ylabel('|X_3_2(k)|'); %将y轴命名为|X_3_2(k)|,x轴命名为kaxis([0,16,0,200]) %控制坐标值的大小n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box on;%对产生第六个图形划分坐标轴(确定方位),并且确定离散的序列图的参数title('(f) 32点IDFT[X_3_2(k)]'); %将该图形命名为“(f) 32点IDFT[X_3_2(k)]”xlabel('n');ylabel('x_3_2(n)'); %将y轴命名为x_3_2(n), x轴命名为naxis([0,32,0,20]) %控制坐标值的大小(2). 经过matlab软件调试后的结果:0.510100200(a)FT[x(n)]ω/π|X (e j ω)|(b) 三角波序列x(n)nx (n )(c) 16点频域采样k|X 16(k )|102030(d) 16点IDFT[X 16(k)]nx 16(n )051015(e) 32点频域采样k|X 32(k )|0102030(f) 32点IDFT[X 32(k)]nx 32(n )对实验内容2的总结:如果序列()x n 的长度为M ,则只有当频域采样点数N ≥M 时,才可由频域采样()X k 恢复原序列()x n ,否则产生时域混叠现象。