数字信号处理报告--升采样-演示版
- 格式:pptx
- 大小:214.57 KB
- 文档页数:14
实验一 信号、系统及系统响应一、实验目的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,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
北京邮电大学电子工程学院电子实验中心<数字信号处理实验>实验报告班级: xxx学院: xxx实验室: xxx 审阅教师:姓名(班内序号): xxx 学号: xxx 实验时间: xxx评定成绩:目录一、常规实验 (3)实验一常用指令实验 (3)1.试验现象 (3)2.程序代码 (3)3.工作原理 (3)实验二数据储存实验 (4)1.试验现象 (4)2.程序代码 (4)3.工作原理 (4)实验三I/O实验 (5)1.试验现象 (5)2.程序代码 (5)3.工作原理 (5)实验四定时器实验 (5)1.试验现象 (5)2.程序代码 (6)3.工作原理 (9)实验五INT2中断实验 (9)1.试验现象 (9)2.程序代码 (9)3.工作原理 (13)实验六A/D转换实验 (13)1.试验现象 (13)2.程序代码 (14)3.工作原理 (18)实验七D/A转换实验 (19)1.试验现象 (19)2.程序代码 (19)3.工作原理 (37)二、算法实验 (38)实验一快速傅里叶变换(FFT)算法实验 (38)1.试验现象 (38)2.程序代码 (38)3.工作原理 (42)实验二有限冲击响应滤波器(FIR)算法实验 (42)1.试验现象 (42)2.程序代码 (42)3.工作原理 (49)实验三无限冲击响应滤波器(IIR)算法实验 (49)1.试验现象 (49)2.程序代码 (49)3.工作原理 (56)作业设计高通滤波器 (56)1.设计思路 (56)2.程序代码 (57)3.试验现象 (64)一、常规实验实验一常用指令实验1.试验现象可以观察到实验箱CPLD右上方的D3按一定频率闪烁。
2.程序代码.mmregs.global _main_main:stm #3000h,spssbx xf ;将XF置1,D3熄灭call delay ;调用延时子程序,延时rsbx xf ;将XF置0,D3点亮call delay ;调用延时子程序,b _main ;程序跳转到"_MAIN"nopnop;延时子程序delay:stm 270fh,ar3 ;将0x270f(9999)存入ar3loop1:stm 0f9h,ar4 ;将0x0f9(249)存入ar4loop2:banz loop2,*ar4- ;*ar4自减1,不为0时跳到loop2的位置banz loop1,*ar3- ;*ar3自减1,不为0时跳到loop1的位置ret ;可选择延迟的返回nopnop.end3.工作原理主程序循环执行:D3熄灭→延时→D3点亮→延时。
数字信号处理实验报告-信号采集与重建实验二信号的采样与重建一.实验目的(1)通过观察采样信号的混叠现象,进一步理解奈奎斯特采样频率的意义。
(2)通过实验,了解数字信号采样转换过程中的频率特征。
(3)对实际的音频文件作内插和抽取操作,体会低通滤波器在内插和抽取中的作用。
二.实验内容(1)采样混叠,对一个模拟信号Va(t)进行等间采样,采样频率为200HZ,得到离散时间信号V(n).Va(t)由频率为30Hz,150Hz,170Hz,250Hz,330Hz的5个正弦信号的加权和构成。
Va(t)=6cos(60pi*t)+3sin(300pi*t)+2cos(340pi*t)+4cos(500pi*t)+10sin(660pi*t)观察采样后信号的混叠效应。
程序:clear,close all, t=0:0.1:20; Ts=1/2; n=0:Ts:20;V=8*cos(0.3*pi*t)+5*cos(0.5*pi*t+0.6435)-10*sin(0.7*pi*t);Vn=8*cos(0.3*pi*n)+5*cos(0.5*pi*n+0.6435)-10*sin(0.7*pi*n); subplot(221)plot(t,V), grid on,subplot(222) stem(n,Vn,'.'), grid on,40200-20-4040200-20-400510152021101520(2)输入信号X(n)为归一化频率f1=0.043,f2=0.31的两个正弦信号相加而成,N=100,按因子M=2作抽取:(1)不适用低通滤波器;(2)使用低通滤波器。
分别显示输入输出序列在时域和频域中的特性。
程序:clear;N=100; M=2;f1=0.043; f2=0.31; n=0:N-1;x=sin(2*pi*f1*n)+sin(2*pi*f2*n); y1=x(1:2:100);y2=decimate(x,M,'fir'); figure(1);stem(n,x(1:N));title('input sequence'); xlabel('n');ylabel('fudu'); figure(2); n=0:N/2-1; stem(n,y1);title('output sequence without LP'); xlabel('n');ylabel('fudu'); figure(3); m=0:N/M-1;stem(m,y2(1:N/M));title('output sequence with LP'); xlabel('n');ylabel('fudu'); figure(4);[h,w]=freqz(x);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the input sequence');xlabel('w');ylabel('fudu'); figure(5);[h,w]=freqz(y1);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the output sequence without LP');xlabel('w');ylabel('fudu'); figure(6);[h,w]=freqz(y2);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the output sequence without LP');xlabel('w');ylabel('fudu');input sequence21.510.5fudu0-0.5-1-1.5-202120304050n60708090100output sequence without LP21.510.5fudu0-0.5-1-1.5-20510152025n3035404550output sequence with LP1.510.5fudu0-0.5-1-1.50510152025n3035404550frequency spectrum of the inputsequence5045403530fudu252021105000.511.5wfrequency spectrum of the output sequence without LP3022.533.52520fudu15105000.511.5w22.533.5感谢您的阅读,祝您生活愉快。
《数字信号处理》课程设计报告设计一信号的基本运算【一】设计目的熟悉信号的基本运算,通过仿真结果加深理解。
【二】设计内容1.现有一段以采样频率8192Hz采样得到的语音数据x(k),为了模仿出回音的效果,可以对数据进行如下处理:x(k)=x(k)+a*x(k-d),其中d为时延,a为时延信号的衰减幅度。
根据上述原理,进行仿真实验,并演示回声的效果。
(参数:时延d=0.4秒,衰减幅度a=0.5)2.对上述语音信号进行时间反转x(-k)、上采样x(2k)、下采样x(k/2)操作,并演示这些运算的效果。
【三】设计过程,调试,分析。
数字信号处理的主要研究对象是语音信号和图像信号,语音信号的研究可以从时域和频域两个方面来进行。
其中时域的分析处理有两种方法: 一种是进行语音信号分析, 这属于线性处理的范畴,主要是通过信号的加减、时移、倍乘、卷积、求相关函数等来实现;另一种是生成和变换成各种调制信号, 这属于非线性的范畴,主要是对信号平均累加器的动态范围进行压缩扩张, 用门限方法对噪声的抑制。
对频域分析处理, 即对信号的频率特性在频谱中加以分析研究, 这拓展了信号分析的范围, 是对不确定信号分析的主要方法。
在实际应用中, 信号的时域频分析经常同时进行。
1 语音信号的采集与时频分析1. 1 语音信号的采集利用 PC 机上的声卡和WINDOWS操作系统可以进行数字信号的采集。
将话筒输入计算机的语音输入插口上, 启动录音机。
按下录音按钮, 接着对话筒说话/大家好0 ,说完后停止录音, 屏幕左侧将显示所录声音的长度。
点击放音按钮,可以实现所录音的重现。
以文件名/ dajiahao0 保存入 g:\MATLAB\ work中。
可以看到, 文件存储器的后缀默认wav。
在 Matlab 软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x,同时把x的采样频率Fs= 8000Hz和数据位Nbits= 8Bit放进了MATALB的工作空间。
数字信号处理实验报告(⾃⼰的实验报告)数字信号处理实验报告西南交通⼤学信息科学与技术学院姓名:伍先春学号:20092487班级:⾃动化1班指导⽼师:张翠芳实验⼀序列的傅⽴叶变换实验⽬的进⼀步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅⽴叶变换(FFT )的应⽤。
实验步骤1. 复习DFS 和DFT 的定义,性质和应⽤;2. 熟悉MATLAB 语⾔的命令窗⼝、编程窗⼝和图形窗⼝的使⽤;利⽤提供的程序例⼦编写实验⽤程序;按实验内容上机实验,并进⾏实验结果分析;写出完整的实验报告,并将程序附在后⾯。
实验内容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进⾏谱分析已知:模拟信号以t=0.01n(n=0:N-1)进⾏采样,求N 点DFT 的幅值谱。
请分别画出N=45; N=50;N=55;N=60时的幅值曲线。
数字信号处理实验⼀1.(1) L=5;N=20;60,7)4(;60,5)3(;40,5)2(;20,5)1()](~[)(~,2,1,01)1(,01,1)(~=========±±=??-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L mN L mN n mN n x )52.0cos()48.0cos()(n n n x ππ+=)8cos(5)4sin(2)(t t t x ππ+=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;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(2)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=40');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(3)L=5;N=60;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(3)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=60'); subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(4)L=7;N=60;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(4)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=7,N=60'); subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');2. (1)M=10;N=10;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(1)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=10'); axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');(2)M=10;N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(2)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=10'); axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');(3)M=100;N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(3)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=100'); axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');3.figure(1)subplot(2,2,1)N=45;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N); plot(q,abs(y))stem(q,abs(y))title('FFT N=45')%subplot(2,2,2)N=50;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N); plot(q,abs(y))title('FFT N=50')%subplot(2,2,3)N=55;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);title('FFT N=55')%subplot(2,2,4)N=16;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))title('FFT N=16')function[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;实验⼆⽤双线性变换法设计IIR 数字滤波器⼀、实验⽬的1.熟悉⽤双线性变换法设计IIR 数字滤波器的原理与⽅法; 2.掌握数字滤波器的计算机仿真⽅法;3.通过观察对实际⼼电图的滤波作⽤,获得数字滤波器的感性知识。
实验一混叠现象的时域与频域表现一、实验目的用不同的频率的抽样对某一周期信号进行采集,考察是否发生频谱混叠,用matlab 写出仿真程序,并观察与分析,最后的出结论。
二、实验内容考虑频率分别为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)因此它们在时域表现为一个序列。
实际上,当给定频率为(10k±3Hz)的余弦信号,且采样频率为10Hz 时,均表现为g1[n]=cos(0.6πn)的序列。
以下的matlab 程序画出三序列的时域和频域图(图9―32),非常直观地说明了混叠现象。
实验程序: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,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
数字信号处理实验报告实验一:频谱分析与采样定理一、实验目的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 计算线性卷积的方法。
数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境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篇模版]第一篇:数字信号处理实验报告完整版实验 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、利⽤卷积⽅法观察分析系统的时域特性;4、掌握序列傅⽴叶变换的计算机实现⽅法,利⽤序列的傅⽴叶变换对连续信号、离散信号及系统响应进⾏频域分析。
⼆、实验原理及⽅法采样是连续信号数字处理的第⼀个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发⽣变化以及信号信息不丢失的条件,⽽且可以加深对傅⽴叶变换、Z 变换和序列傅⽴叶变换之间关系式的理解。
对⼀个连续信号进⾏理想采样的过程可⽤下式表⽰:,其中为的理想采样,p(t)为周期脉冲,即的傅⽴叶变换为上式表明为的周期延拓。
其延拓周期为采样⾓频率()。
只有满⾜采样定理时,才不会发⽣频率混叠失真。
在实验时可以⽤序列的傅⽴叶变换来计算。
公式如下:离散信号和系统在时域均可⽤序列来表⽰。
为了在实验中观察分析各种序列的频域特性,通常对在[0,2]上进⾏M点采样来观察分析。
对长度为N的有限长序列x(n),有:其中,,k=0,1,……M-1时域离散线性⾮移变系统的输⼊/输出关系为上述卷积运算也可在频域实现三、实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅⽴叶变换及性质等有关内容,阅读本实验原理与⽅法。
2、编制实验⽤主程序及相应⼦程序。
①信号产⽣⼦程序,⽤于产⽣实验中要⽤到的下列信号序列:xa(t)=Ae-at sin(Ω0t)u(t)进⾏采样,可得到采样序列xa(n)=xa(nT)=Ae-anT sin(Ω0nT)u(n), 0≤n<50其中A为幅度因⼦,a为衰减因⼦,Ω0是模拟⾓频率,T为采样间隔。
这些参数都要在实验过程中由键盘输⼊,产⽣不同的xa(t)和xa(n)。
b. 单位脉冲序列:xb(n)=δ(n)c. 矩形序列:xc(n)=RN(n), N=10②系统单位脉冲响应序列产⽣⼦程序。
数字信号处理实验报告实验一 信号的产生及傅立叶分析(设计性)一 实验目的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 可减少运算量,提高速度。
实验1 利用DFT 分析信号频谱一、实验目的1.加深对DFT 原理的理解。
2.应用DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境 计算机、MATLAB 软件环境 三、实验基础理论1.DFT 与DTFT 的关系有限长序列x (n )(0≤n ≤N −1)的离散时间傅里叶变换X (e jω)在频率区间(0≤ω≤2π)的N 个等间隔分布的点kω=2πk /N (0≤k ≤N −1)上的N 个取样值可以由下式表示:212/0()|()()01N jkn j Nk N k X e x n eX k k N πωωπ--====≤≤-∑由上式可知,序列x (n )的N 点DFT X k ,实际上就是x (n )序列的DTFT 在N 个等间隔频率点kω=2πk /N (0≤k ≤N −1)上样本X k 。
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 ωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑ 由上式可以得到:IDFTDTFTX (ejω)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 分析连续信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续信号离散化,这里需要进行两个操作:一是采样,二是截断。
实 验 报 告学生姓名: 学 号: 指导教师:一、实验室名称:数字信号处理实验室 二、实验项目名称:采样的时域及频域分析 三、实验原理:1、采样的概念:采样是将连续信号变化为离散信号的过程。
1. A 、理想采样:即将被采样信号与周期脉冲信号相乘B 、实际采样:将被采样信号与周期门信号相乘,当周期门信号的宽度很小,可近似为周期脉冲串。
根据傅里叶变换性质000()()()()ˆˆ()()()()()()(())FTFTa a T n n FTa a T a T a an n x t X j T j xt x t T x nT t nT X j Xj n ωδωδδδω=+∞=+∞=-∞=-∞←−→Ω←−→Ω==-←−→Ω=Ω-Ω∑∑式中T 代表采样间隔,01TΩ=由上式可知:采样后信号的频谱是原信号频谱以0Ω为周期的搬移叠加 结论:时域离散化,频域周期化;频谱周期化可能造成频谱混迭。
)(t T δ^T ^)tC 、低通采样和Nyquist 采样定理设()()a a x t X j ⇔Ω且()0,2a M M X j f πΩ=Ω>Ω=当,即为带限信号。
则当采样频率满足2/22s M M f f π≥Ω=时,可以从采样后的^()()()a assn x t x nT t nT δ∞=-∞=-∑信号无失真地恢复()ax t 。
称2Mf为奈奎斯特频率,12N M T f =为奈奎斯特间隔。
注意:实际应用中,被采信号的频谱是未知的,可以在ADC 前加一个滤波器(防混迭滤波器)。
2、低通采样中的临界采样、欠采样、过采样的时域及频域变化情况。
低通采样中的临界采样是指在低通采样时采样频率2s M f f = 低通采样中的欠采样是指在低通采样时采样频率2s M f f ≤ 低通采样中的欠采样是指在低通采样时采样频率2s M f f ≥ 设一带限信号的频谱如下:)()a G j Ω0 m -ΩΩm Ω0TT(1)临界采样(2)过采样(3)欠采样由上图可知,当为临界采样和过采样时,理论上可以无失真的恢复采样信号,但是实际在临界采样时,由于实际滤波器的性能限制,无法无失真的恢复,在欠采样时只能部分恢复原信号的频谱特性。
Digital Signal ProcessMid-term TaskClass:Dian Zi 2Member:Li Ming 20111794Wu Xun 20111787Gao Feng 20111767Liao Feng 20111769Ren BingTao 20111768题目:关于男女生声音信号的采集和分析一、声音采集部分Matlab中提供了强大的数据采集工具箱,可以满足控制声卡对数据进行采集的要求。
语音数据采集过程如图:在Matlab环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放。
驱动声卡的方式共有四种:一是将声卡作为对象处理采集语音信号;二是调用wavrecord功能函数采集语音信号;三是通过audiorecorder对象采集语音信号;四是可以直接用windows自带的录音机采集声音信号,再通过函数读取和分析(不过这种方式并不利于参数的设置)。
1、将声卡作为处理对象采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过该对象的操作来作用于硬件设备(声卡)。
操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道,设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象,具体的程序如下:ai=analoginput('winsound'); %为声卡建立一个模拟输入设备对象addchannel(ai,1); %设置声卡通道,1为单声道,2为双声道fs=22050; %采样频率设置为22050Hzai.samplerate=fs; %设置采样频率t=2; %设置采样时间start(ai); %启动并触发声卡设备采集数据stop(ai); %停止采集delete(ai); %去除设备对象clear ai; %清除变量2、调用wavrecord功能函数采集语音信号fs=22050; %样本采集频率y=wavrecord(5*fs,fs,'int16');%fs代表样本采集频率,nbits代表每%个样本的位数,ch代表采集通道,1%为单声道,2为双声道,默认值为1 wavplay(y,fs); %播放声音信号或sound(y,fs);3、运用audiorecorder对象采集语音信号ar=audiorecorder(11025,16,2);%这里的三个参数与wavrecord的三个%参数相同ar.record; %开始录音ar.pause; %暂停录音p=ar.play; %播放录音ar.resume; %继续录音p=ar.play; %播放完整录音4、通过windows自带的录音器采集信号我们通过windows的内容采集到标准的声音信号,这时将会生成一个wav 文件(win7的系统生成的是wma文件,可以转换格式)。
《数字信号处理》实验报告地点通信实验室学院计算机与通信工程学院专业班级通信082姓名颜晶学号 40850209指导教师杨欲亮2011年6月实验二 时域采样与频域采样一、实验目的时域采样理论与频域采样理论是数字信号处理中的重要理论。
要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。
二、实验原理及方法时域采样定理的要点是: (a)对模拟信号)(t x a 以间隔T 进行时域等间隔理想采样,形成的采样信号的频谱)(ˆΩj X 是原模拟信号频谱()a X j Ω以采样角频率s Ω(T s /2π=Ω)为周期进行周期延拓。
公式为:)](ˆ[)(ˆt x FT j X a a =Ω )(1∑∞-∞=Ω-Ω=n s a jn j X T(b )采样频率s Ω必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。
利用计算机计算上式并不方便,下面我们导出另外一个公式,以便用计算机上进行实验。
理想采样信号)(ˆt x a 和模拟信号)(t x a 之间的关系为:∑∞-∞=-=n a a nT t t x t x)()()(ˆδ对上式进行傅立叶变换,得到:dt e nT t t x j X t j n a a Ω-∞∞-∞-∞=⎰∑-=Ω])()([)(ˆδdte nT t t x t j n a Ω-∞-∞=∞∞-∑⎰-)()( δ=在上式的积分号内只有当nT t =时,才有非零值,因此:∑∞-∞=Ω-=Ωn nTj aae nT xj X )()(ˆ上式中,在数值上)(nT x a =)(n x ,再将T Ω=ω代入,得到:∑∞-∞=-=Ωn nj aen x j X ω)()(ˆ上式的右边就是序列的傅立叶变换)(ωj e X ,即Tj a e X j X Ω==Ωωω)()(ˆ 上式说明理想采样信号的傅立叶变换可用相应的采样序列的傅立叶变换得到,只要将自变量ω用T Ω代替即可。
《数字信号处理》实验报告实验一:Z 变换及离散时间系统分析给定系统)8.0/(2.0)(2+-=z z H ,编程并绘出系统的单位阶跃响应y(n),频率响应)e (jw H 。
给出实验报告。
实验代码clear;x=ones(100); t=1:100;b=[0 0 -0.2 ]; a=[1 0 0.8]; y=filter(b,a,x); (t,x,'r.',t,y,'k-'); grid on ;ylabel('x(n) and y(n)') xlabel('n')单位阶跃响应单位抽样:b=[0 0 -0.2 ]; a=[1 0 0.8];[h,t]=impz(b,a,70);stem(t,h, '.')幅頻,相频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(' 幅频.')subplot(212)plot(w,Hphase);grid on; ylabel(' 相频')零极点图:b=[0 0 -0.2 ];a=[1 0 0.8];subplot(221);zplane(b,a);实验二:快速傅里叶变换设x(n)由三个实正弦组成,频率分别是8Hz,9Hz,10Hz,抽样频率为60 Hz,时域取256点,作FFT变换,观察波形,给出实验报告。
实验代码:clear all;N=256;f1=8;f2=9;f3=10;fs=60;w=2*pi/fs;x=sin(w*f1*(0:N-1))+sin(w*f2*(0:N-1))+sin(w*f3*(0:N-1)); subplot(3,1,1);plot(x(1:N/4));f=-0.5:1/N:0.5-1/N;X=fft(x);=ifft(X);(3,1,2);plot(f,fftshift(abs(X)));subplot(3,1,3);plot(real(y(1:N/4)));实验三:无限冲击响应数字滤波器设计设计一个数字带通滤波器,参数自定。
数字信号处理(DSP)实验报告学院电子科学与工程学院姓名学号指导教师2016年6月2日实验一M2.1Write a MATLAB program to the generate the conjugate-symmetric and conjugate-antisymmetric parts of a finite length complex sequence. Using this program verify the results of Example 2.8.Code:x = [0 1+4j -2+3j 4-2j -5-6j -2j 3];cs = 0.5*(x + conj(fliplr(x)));ca = 0.5*(x - conj(fliplr(x)));M2.2 (a) Using Program 2-2, generate the sequences shown in Figures 2.23 and 2.24.)n for 0≤n≤82using(b)Generate and plot the complex exponential sequence -2.7e(-0.4+jπ6Program 2-2.Code:% Program 2_2% Generation of complex exponential sequence%a = input('Type in real exponent = ');b = input('Type in imaginary exponent = ');c = a + b*i;K = input('Type in the gain constant = ');N = input ('Type in length of sequence = ');n = 1:N;x = K*exp(c*n);%Generate the sequencestem(n,real(x));%Plot the real partxlabel('Time index n');ylabel('Amplitude');title('Real part');disp('PRESS RETURN for imaginary part');pausestem(n,imag(x));%Plot the imaginary partxlabel('Time index n');ylabel('Amplitude'); title('Imaginary part');Figure 2.23Figure 2.24Figure 2.2bM2.4 (a) Write a MATLAB program to generate a sinusoidal sequence x[n]=Asin(ω0n+φ), and plotTime index nA m p l i t u d eImaginary partTime index nA m p l i t u d eTime index nA m p l i t ud eReal partTime index nA m p l i t u d ethe sequence using the stem function. The input data specified by the user the desired length L, amplitude A, the angular frequency ω0, and the phase φ where 0<ω0<πand 0≤ ∅≤2π. Using this program, generate the sinusoidal sequences shown in Figure 2.22.(b) Generate sinusoidal sequences with the angular frequencies given in Problem 2.40. Determine the period of each sequence from the plot, and verify the result theoretically. Code:L = input('Desired length = ');A = input('Amplitude = ');omega = input('Angular frequency = ');phi = input('Phase = ');n = 0:L-1;x = A*cos(omega*n + phi);stem(n,x);xlabel('Time Index'); ylabel('Amplitude');title(['\omega_{o} = ',num2str(omega/pi),'\pi']);Figure 2.22M2.6Write a MA TLAB program to plot a continuous-time sinusoidal signal and its sampled version, and verify Figure 2.28. You need to the hold function to keep both plots.Code:t = 0:0.001:1;fo = input('Frequency of sinusoid in Hz = ');FT = input('Sampling frequency in Hz = ');g1 = cos(2*pi*fo*t);plot(t,g1,':');xlabel('time'); ylabel('Amplitude'); holdn = 0:1:FT;gs = cos(2*pi*fo*n/FT);plot(n/FT,gs,'o'); hold offM3.2 Using Program 3-1, determine and plot the real and imaginary parts and the magnitude and phase spectra of the DTFTs of the sequence of Problem 3.18 for N=10.,Code:% Program 3_1% Discrete-Time Fourier Transform Computation%% Read in the desired number of frequency samplesk = input('Number of frequency points = ');% Read in the numerator and denominator coefficientsnum = input('Numerator coefficients = ');den = input('Denominator coefficients = ');% Compute the frequency responsew = 0:pi/(k-1):pi;h = freqz(num, den, w);%%%%%%%h = h.*exp(1i*w*10);% Plot the frequency response%h=sin(21*w/2)./sin(w/2);%h=exp(-1i*w*5).*sin(w*11/2)./sin(w/2);subplot(2,2,1)plot(w/pi,real(h));gridtitle('Real part')xlabel('\omega/\pi'); ylabel('Amplitude')subplot(2,2,2)plot(w/pi,imag(h));gridtitle('Imaginary part')xlabel('\omega/\pi'); ylabel('Amplitude')subplot(2,2,3)plot(w/pi,abs(h));gridtitle('Magnitude Spectrum')xlabel('\omega/\pi'); ylabel('Magnitude')subplot(2,2,4)plot(w/pi,angle(h));gridtitle('Phase Spectrum')xlabel('\omega/\pi'); ylabel('Phase, radians')M3.3 Using Program 3-1, determine and plot the real and imaginary parts and the magnitude and phase spectra of the following DTFTs:(a)X(e jω)=0.1323(1+0.1444e−jω−0.4519e−j2ω+0.1444e−j3ω+e−j4ω),1+0.1386e−jω+0.8258e−j2ω+0.1393e−j3ω+0.4153e−j4ω.(b) X(e jω)=0.3192(1+0.1885e−jω−0.1885e−j2ω−e−j3ω)1+0.7856e−jω+1.4654e−j2ω−0.2346e−j3ωCode:% Program 3_1% Discrete-Time Fourier Transform Computation%% Read in the desired number of frequency samplesk = input('Number of frequency points = ');% Read in the numerator and denominator coefficientsnum = input('Numerator coefficients = ');den = input('Denominator coefficients = ');% Compute the frequency responsew = 0:pi/(k-1):pi;h = freqz(num, den, w);%%%%%%%h = h.*exp(1i*w*10);% Plot the frequency response%h=sin(21*w/2)./sin(w/2);%h=exp(-1i*w*5).*sin(w*11/2)./sin(w/2);subplot(2,2,1)plot(w/pi,real(h));gridtitle('Real part')xlabel('\omega/\pi'); ylabel('Amplitude')subplot(2,2,2)plot(w/pi,imag(h));gridtitle('Imaginary part')xlabel('\omega/\pi'); ylabel('Amplitude') subplot(2,2,3)plot(w/pi,abs(h));gridtitle('Magnitude Spectrum')xlabel('\omega/\pi'); ylabel('Magnitude') subplot(2,2,4)plot(w/pi,angle(h));gridtitle('Phase Spectrum')xlabel('\omega/\pi'); ylabel('Phase, radians')Figure aFigure bM3.4 Using MATLAB, verify the symmetry relations of the DTFT of a real sequence as listed in Table 3.1.Code:N = 8; % Number of samples in sequencegamma = 0.5; k = 0:N-1;x = 0.5.^k;w = -3*pi:pi/1024:3*pi;X = freqz(x,1,w);subplot(2,2,1)plot(w/pi,real(X));gridtitle('Real part')xlabel('\omega/\pi'); ylabel('Amplitude')subplot(2,2,2)plot(w/pi,imag(X));gridtitle('Imaginary part')xlabel('\omega/\pi'); ylabel('Amplitude')subplot(2,2,3)plot(w/pi,abs(X));gridtitle('Magnitude Spectrum')xlabel('\omega/\pi'); ylabel('Magnitude')subplot(2,2,4)plot(w/pi,angle(X));gridtitle('Phase Spectrum')xlabel('\omega/\pi'); ylabel('Phase, radians')M4.1 Using Program 4-1(new), investigate the effect of signal smoothing by a moving-average filter of length 5, 7 and 9. Does the signal smoothing improve with an increase in the length? What is the effect of the length on the delay between the smoothing output and the noisy input? Code:% Program 4_1% Signal Smoothing by a Moving-Average FilterR = 50;d = rand(R,1)-0.5;m = 0:1:R-1;s = 2*m.*(0.9.^m);x = s + d';plot(m,d,'r-',m,s,'b--',m,x,'g:')xlabel('Time index n'); ylabel('Amplitude')legend('d[n]','s[n]','x[n]');pauseM = input('Number of input samples = ');b = ones(M,1)/M;y = filter(b,1,x);plot(m,s,'r-',m,y,'b--')legend('s[n]','y[n]');xlabel ('Time index n');ylabel('Amplitude')实验二M5.1 Using MATLAB, compute the N-point DFTs the length-N sequences of Problem 3.18 for N=4,6,8 and 10. Compare your result with that obtained by evaluating the DTFTs computed inProblem 3.18 at ω=2πkN,k=0,1…..,N-1.Code:N = input('The value of N = ');k = -N:N;y = ones(1,2*N+1);w = 0:2*pi/255:2*pi;Y = freqz(y, 1, w);Ydft = fft(y);n = 0:1:2*N;plot(w/pi,abs(Y),n*2/(2*N+1),abs(Ydft),'o');xlabel('\omega/\pi'),ylabel('Amplitude');M6.1 Using Program 6-1, determine the factored form of the following z-transforms:(a)G1=3z4−2.4z3+15.36z2+3.84z+95z4−8.5z3+17.6z2+4.7z−6,(b)G2=2z4+0.2z3+6.4z2+4.6z+2.4.5z4+z3+6.6z2+0.42z+24Code:% Program 6_1% Determination of the Factored Form% of a Rational z-Transform%num = input('Type in the numerator coefficients = '); den = input('Type in the denominator coefficients = '); K = num(1)/den(1);Numfactors = factorize(num);Denfactors = factorize(den);disp('Numerator factors');disp(Numfactors);disp('Denominator factors');disp(Denfactors);disp('Gain constant');disp(K);zplane(num,den);Figure aFigure bM8.1 Using MATLAB, develop a cascade realization of each of the following linear-phase FIR transfer function:(a)H1(z)=-0.3+0.16z−1+0.1z−2+1.2z−3+0.1z−4+0.16z−5−0.3z−6,(b) H2(z)=2-3.8z−1+1.5z−2−4.2z−3+1.5z−4−3.8z−5+2z−6,(c) H3(z)=-0.3+0.16z−1+0.1z−2−0.1z−4+0.16z−5−0.3z−6,(d) H4(z)=--2+3.8z−1−0.15z−2+0.15z−4−3.8z−5+2z−6,Code:num = input('Type in the numerator coefficients = ');Numfactors = factorize(num);disp('Numerator factors');disp(Numfactors);Figure aFigure bFigure cFigure dM8.2 Consider the fourth-oder IIR transfer function.G(z)=0.1103−0.4413z−1+0.6619z−2−0.4413z−3+0.1103z−41−0.1510z−1+0.8042z−2+0.1618z−3+0.1872z−4(a)Using MATLAB, express G(z) in factored form.(b)Develop two different cascade realizations of G(z).(c)Develop two different parallel form realization of G(z).Realize each second-order section in direct from II.Code:% Program 8_2% Factorization of a Rational IIR Transfer Function %format shortnum = input('Numerator coefficients = ');den = input('Denominator coefficients = '); Numfactors = factorize(num);Denfactors = factorize(den);K = num(1)/den(1);disp('Numerator Factors'),disp(Numfactors)disp('Denominator Factors'),disp(Denfactors)disp('Gain constant');disp(K);Figure aM9.1 Design a digital Butterworth lowpass filter operating at a sampling rate of 100kHz with a 0.3dB cutoff frequency at 15kHz and a minimum stopband attenuation of 45 dB at 25 kHz using the bilinear transformation method. Determine the order of the analog filter prototype using the formula given in Eq.(A.9), and then design the analog prototype filter using the M-file buttap of MATLAB. Transform the analog filter transform function to the desired digital transfer function using the M-file bilinear. Plot the gain and phase response using MA TLAB. Show all step used in the design. Code:wp=2*1/4;ws=2*15/40;[n1,wn1]=buttord(wp,ws,3,35);[B,A]=butter(n1,wn1);[h1,w]=freqz(B,A);f=w/pi*20000;plot(f,20*log10(abs(h1)),'r');axis([0,20000,-80,10]);grid;xlabel('Frequency/Hz');ylabel('Magnitude/dB');M10.1 Plot the magnitude response of a linear-phase FIR highpass filter by truncating the impulse response h HP[n] of the ideal highpass filter of Eq.(10.17) to length N=2M+1 for two different values of M, and show that the truncated filter exhibits oscillatory behavior on both sides of the cutoff frequency.Code:M=800;n= -M:M;hn= -sin(0.4*pi*n)./(pi*n);%hn= -0.4*sinc(0.4*n);hn(M+1)=0.6;[H,w] = freqz(hn,1);plot(n,hn)figure,plot(w/pi,abs(H))M10-1M10-2M11-1 Using Program 11-1,determine the first 30 samples of the impulse response coeFfiicients of the following filters:(a)Filter-oder elliptic lowpass filter developed in Example 9.14,(b)Fourth-oder Type 1 Chebyshev highpass filter developed in Example 9.15,(c)Eight-oder Butterworth bandpass filter develped in Example 9.16. Code:N=8;xa=input('8点xa =');xb=input('8点xb =');xak=fft(xa,N);xbk=fft(xb,N);f=ifft(xak.*xbk,N);figure(1);subplot(5,1,1);stem(0:N-1,xa);title('xa(n)');subplot(5,1,2);stem(0:N-1,xb);title('xb(n)');subplot(5,1,3);stem(0:N-1,f);title('xa(n)⊙xb(n)');xak1=fft(xa,2*N);xbk1=fft(xb,2*N);h=ifft(xak1.*xbk1,2*N);subplot(5,1,4);stem(0:2*N-2,h(1:2*N-1));title('xa*xb');h=conv(xa,xb);subplot(5,1,5);stem(0:2*N-2,h(1:2*N-1));M11-1实验体会通过本次实验,通过此次DSP上机实验,进一步掌握和巩固了数字信号的相关知识,以及Matlab的相关操作,体验了将实际问题用软件进行实际应用的方法,为今后的学习和毕设夯实基础。