数字信号处理实验图323
数字信号处理上机实验 作业结果与说明 实验三、四、五

上机频谱分析过程及结果图 上机实验三:IIR 低通数字滤波器的设计姓名:赵晓磊 学号:赵晓磊 班级:02311301 科目:数字信号处理B一、实验目的1、熟悉冲激响应不变法、双线性变换法设计IIR 数字滤波器的方法。
2、观察对实际正弦组合信号的滤波作用。
二、实验内容及要求1、分别编制采用冲激响应不变法、双线性变换法设计巴特沃思、切贝雪夫I 型,切贝雪夫II 型低通IIR 数字滤波器的程序。
要求的指标如下:通带内幅度特性在低于πω3.0=的频率衰减在1dB 内,阻带在πω6.0=到π之间的频率上衰减至少为20dB 。
抽样频率为2KHz ,求出滤波器的单位取样响应,幅频和相频响应,绘出它们的图,并比较滤波性能。
(1)巴特沃斯,双线性变换法Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radians frequency in pi unitsa r g (H [e x p (j w )](2)巴特沃斯,冲激响应不变法(3)切贝雪夫I 型,双线性变换法(4)切贝雪夫Ⅱ型,双线性变换法综合以上实验结果,可以看出,使用不同的模拟滤波器数字化方法时,滤波器的性能可能产生如下差异:使用冲击响应不变法时,使得数字滤波器的冲激响应完全模仿模拟滤波器的冲激响应,也就是时域逼急良好,而且模拟频率和数字频率之间呈线性关系;但频率响应有混叠效应。
frequency in Hz|H [e x p (j w )]|Designed Lowpass Filter Magnitude Response in dBfrequency in pi units|H [e x p (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [e xp (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radiansfrequency in pi unitsa r g (H [e x p (j w )]使用双线性变换法时,克服了多值映射的关系,避免了频率响应的混叠现象;在零频率附近,频率关系接近于线性关系,高频处有较大的非线性失真。
数字信号处理实验报告 3

数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期:2013.频域采样定理验证实验一. 实验目的:1. 加深对离散序列频域抽样定理的理解2.了解由频谱通过IFFT 计算连续时间信号的方法3.掌握用MATLAB 语言进行频域抽样与恢复时程序的编写方法 4、用MATLAB 语言将X(k)恢复为X(z)及X(e jw )。
二. 实验原理:1、1、频域采样定理: 如果序列x(n)的长度为M ,频域抽样点数为N ,则只有当频域采样点数N ≥M 时,才有x N (n)=IDFT[X(k)]=x(n),即可由频域采样X(k)无失真的恢复原序列 x(n)。
2、用X(k)表示X(z)的内插公式:∑-=-----=10111)(1)(N k kNNzWz k X Nz X内插函数: zWzkNNN z 1k111)(-----=ϕ频域内插公式:∑-=-=10)2()()(N K j k Nk X e X πωϕω频域内插函数:e N j N N )21()2sin()2sin(1)(--=ωωωωϕ三. 实验任务与步骤:实验一:长度为26的三角形序列x(n)如图(b)所示,编写MATLAB 程序验证频域抽样定理。
实验二:已知一个时间序列的频谱为X(e jw )=2+4e -jw +6e -j2w +4e -j3w +2e -j4w分别取频域抽样点数N为3、5和10,用IPPT计算并求出其时间序列x(n),用图形显示各时间序列。
由此讨论原时域信号不失真地由频域抽样恢复的条件。
实验三:由X32(k)恢复X(z)和X(e jw)。
四.实验结论与分析:实验一:源程序:M=26;N=32;n=0:M; %产生M长三角波序列x(n)xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0; xn=[xa,xb];Xk=fft(xn,512); %1024点FFT[x(n)], 用于近似序列x(n)的TFX32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K)x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box ontitle('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])k=0:511;wk=2*k/512;subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box ontitle('(c) 16点频域');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box ontitle('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20])k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box ontitle('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200])n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box ontitle('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])结果如下所示:实验一分析:序列x(n)的长度M=26,由图中可以看出,当采样点数N=16<M时,x16(n)确实等于原三角序列x(n)以16为周期的周期延拓序列的主值序列。
实验三 数字信号处理

1. 假设系统用下面差分方程描述:y(n)=x(n)+ay(n-1)假设a=0.7, 0.8, 0.9 ,分别在三种情况下分析系统的频率特性,并打印幅度特性曲线。
解:B=1;A=[1,-0.7];subplot(3,3,3);zplane(B,A);xlabel('实部Re→');ylabel('虚部Im→');title('y(n)=x(n)-0.7y(n-1)传输函数零、极点分布');grid on [H,w]=freqz(B,A,'whole');subplot(3,3,2);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性');axis([0,2,0,6]);subplot(3,3,1);plot(w/pi,angle(H),'linewidth',2);grid on;axis([-0.1,2.1,-3,3]);xlabel('\omega/\pi');ylabel('\phi(\omega)');title('相频响应特性');B=1;A=[1,-0.8];subplot(3,3,6);zplane(B,A);xlabel('实部Re→');ylabel('虚部Im→');title('y(n)=x(n)-0.8y(n-1)传输函数零、极点分布');grid on [H,w]=freqz(B,A,'whole');subplot(3,3,5);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性');axis([0,2,0,6]);subplot(3,3,4);plot(w/pi,angle(H),'linewidth',2);grid on;axis([-0.1,2.1,-3,3]);xlabel('\omega/\pi');ylabel('\phi(\omega)');title('相频响应特性');B=1;A=[1,-0.9];subplot(3,3,9);zplane(B,A);xlabel('实部Re→');ylabel('虚部Im→');title('y(n)=x(n)-0.9y(n-1)传输函数零、极点分布');grid on [H,w]=freqz(B,A,'whole');subplot(3,3,8);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性');axis([0,2,0,6]);subplot(3,3,7);plot(w/pi,angle(H),'linewidth',2);grid on;axis([-0.1,2.1,-3,3]);xlabel('\omega/\pi');ylabel('\phi(\omega)');title('相频响应特性'); 图形如下所示:2.假设系统用下面差分方程描述:y(n) = x(n) +ax(n-1)假设a=0.7, 0.8, 0.9 ,分别在三种情况下分析系统的频率特性,并打印幅度特性曲线。
《数字信号处理》实验指导书(完整)

《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第1章 系统响应及系统稳定性1.1 实验目的● 学会运用MATLAB 求解离散时间系统的零状态响应;● 学会运用MATLAB 求解离散时间系统的单位取样响应;● 学会运用MATLAB 求解离散时间系统的卷积和。
1.2 实验原理及实例分析1.2.1 离散时间系统的响应离散时间LTI 系统可用线性常系数差分方程来描述,即∑∑==-=-Mj jN i i j n x b i n y a 00)()( (1-1) 其中,i a (0=i ,1,…,N )和j b (0=j ,1,…,M )为实常数。
MATLAB 中函数filter 可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter 的语句格式为y=filter(b,a,x)其中,x 为输入的离散序列;y 为输出的离散序列;y 的长度与x 的长度一样;b 与a 分别为差分方程右端与左端的系数向量。
【实例1-1】 已知某LTI 系统的差分方程为)1(2)()2(2)1(4)(3-+=-+--n x n x n y n y n y试用MATLAB 命令绘出当激励信号为)()2/1()(n u n x n=时,该系统的零状态响应。
解:MATLAB 源程序为>>a=[3 -4 2];>>b=[1 2];>>n=0:30;>>x=(1/2).^n;>>y=filter(b,a,x);>>stem(n,y,'fill'),grid on>>xlabel('n'),title('系统响应y(n)')程序运行结果如图1-1所示。
1.2.2 离散时间系统的单位取样响应系统的单位取样响应定义为系统在)(n 激励下系统的零状态响应,用)(n h 表示。
数字信号处理实验三、四

N=4,为四阶切比雪夫带阻滤波器,由图知满足设计要求。
四、实验总结
通过这次实验, 我掌握了双线性变换法及脉冲相应不变法设计 IIR 数字滤波 器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、 高通和带通 IIR 数字滤波器的计算机编程。
实验四、FIR 数字滤波器的设计
一、思考题
wr2],[w1
w2],3,18,'s');
[B,A]=cheby1(N,3,wn,'stop','s'); [num,den]=bilinear(B,A,10000) [h,w]=freqz(num,den); f=w/(2*pi)*10000; plot(f,20*log10(abs(h))); axis([0,5000,-120,10]); grid;xlabel('频率/Hz');ylabel('幅度/dB')
5、w1=2*10000*tan(2*pi*1000/(2*10000));
w2=2*10000*tan(2*pi*2000/(2*10000)); wr1=2*10000*tan(2*pi*500/(2*10000)); wr2=2*10000*tan(2*pi*3000/(2*10000));
[N,wn]=cheb1ord([wr1
[num1,den1] = [h1,w] = wp2 = wr2 =
freqz(num1,den1);
2*fs*tan(2*pi*fc/(2*fs)) 2*fs*tan(2*pi*fr/(2*fs)) buttord(wp2,wr2,1,25,'s') butter(N2,wn2,'s'); bilinear(B2,A2,fs);%双线性变换法
数字信号处理课后实验程序及结果图

第 8 章
上 机 实 验
(4) 如果输入信号为无限长序列, 系统的单位脉冲
响应是有限长序列, 可用分段线性卷积法求系统的响应,
具体方法请参考DFT一章的内容。
如果信号经过低通滤波器, 则信号的高频分量被滤掉,
时域信号的变化减缓, 在有阶跃处附近产生过渡带。 因此,
当输入矩形序列时, 输出序列的开始和终了都产生了明显
的过渡带, 见第一个实验结果的波形。
第 8 章
上 机 实 验
8.2 实验二: 时域采样与频域采样
8.2.1
1. 时域采样理论与频域采样理论是数字信号处理中的重要
理论。 要求掌握模拟信号采样前后频谱的变化, 以及如何
选择采样频率才能使采样后的信号不丢失信息; 要求掌握频 域采样会引起时域周期化的概念, 以及频率域采样定理及 其对频域采样点数选择的指导作用。
1 X a ( j jn s ) T n
第 8 章
上 机 实 验
(2) 采样频率Ωs必须大于等于模拟信号最高频率的两倍
以上, 才能使采样信号的频谱不产生频谱混叠。
ˆ ( j ) 并不方便, 下面我们导出另 利用计算机计算 X
外一个公式, 以便在计算机上进行实验。 理想采样信号
%内容3:
un=ones(1, 256); n=0: 255; xsin=sin(0.014*n)+sin(0.4*n) ; %产生正弦信号 %产生信号un
第 8 章
上 机 实 验
A=[1, -1.8237, 0.9801];
B=[1/100.49, 0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B, A, un); %谐振器对un的响应y31n y32n=filter(B, A, xsin); %谐振器对正弦信号的响应y32n figure(3) subplot(2, 1, 1); y=′y31(n)′; tstem(y31n, y) title(′(h) 谐振器对u(n)的响应y31(n)′) subplot(2, 1, 2); y=′y32(n)′; tstem(y32n, y); title(′(i) 谐振器对正弦信号的响应y32(n)′)
数字信号处理--实验三

一、实验目的1.了解工程上两种最常用的变换方法:脉冲响应不变法和双线性变换法。
2.掌握双线性变换法设计IIR 滤波器的原理及具体设计方法,熟悉用双线性设计法设计低通、带通和高通IIR 数字滤波器的计算机程序.3.观察用双线性变换法设计的滤波器的频域特性,并与脉冲响应不变法相比较,了解双线性变换法的特点。
4.熟悉用双线性变换法设计数字Butterworth 和Chebyshev 滤波器的全过程。
5.了解多项式乘积和多项式乘方运算的计算机编程方法。
二、实验原理与方法从模拟滤波器设计IIR 数字滤波器具有四种方法:微分-差分变换法、脉冲响应不变法、双线性变换法、z 平面变换法。
工程上常用的是其中的两种:脉冲响应不变法、双线性变换法。
脉冲响应不变法需要经历如下基本步骤:由已知系统传输函数H(S)计算系统冲激响应h(t);对h(t)等间隔采样得到h (n )=h (n T);由h (n )获得数字滤波器的系统响应H (Z)。
这种方法非常直观,其算法宗旨是保证所设计的IIR 滤波器的脉冲响应和模拟滤波器的脉冲响应在采样点上完全一致。
而双线性变换法的设计准则是使数字滤波器的频率响应与参考模拟滤波器的频率响应相似。
脉冲响应不变法一个重要的特点是频率坐标的变换是线性的(),其确定是有频谱的周期延拓效应,存在频谱混叠的现象。
为了克服脉冲响应不变法可能产生的频谱混叠,提出了双线性变换法,它依靠双线性变换式:, , 其中 ,建立其S 平面和Z 平面的单值映射关系,数字域频率和模拟域频率的关系是: , (3-1) 由上面的关系式可知,当时,终止在折叠频率处,整个轴单值的对应于单位圆的一周。
因此双线性变换法不同于脉冲响应不变法,不存在频谱混叠的问题。
从式(3-1)还可以看出,两者的频率不是线性关系。
这种非线性关系使得通带截至频率、过渡带的边缘频率的相对位置都发生了非线性畸变。
这种频率的畸变可以通过预畸变来校正。
用双线性变换法设计数字滤波器时,一般总是先将数字滤波器的个临界频率经过式(3-1)的频率预畸变,求得相应参考模拟滤波器的个临界频率,然后设计参考模拟滤波器的传递函数,最后通过双T Ω=ω1111--+-=z z s s s z -+=11Ω+=j s σωj re z =)2/(ωtg =Ω)(2Ω=arctg ω∞→Ωωπω=Ωj线性变换式求得数字滤波器的传递函数。
数字信号处理实验三

数字信号处理实验三数字信号处理实验三是针对数字信号处理课程的一项实践性任务。
本实验旨在通过实际操作,加深对数字信号处理理论的理解,并培养学生的实验能力和问题解决能力。
在本实验中,我们将学习和实践以下内容:1. 实验目的本实验的目的是通过使用MATLAB软件进行数字信号处理,加深对数字信号处理基本概念和算法的理解,掌握数字信号的采样、量化、滤波等基本操作。
2. 实验器材在本实验中,我们将使用以下器材:- 个人计算机- MATLAB软件3. 实验步骤本实验的具体步骤如下:步骤一:信号生成首先,我们需要生成一个模拟信号,可以是正弦信号、方波信号或其他类型的信号。
在MATLAB中,我们可以使用相关函数生成这些信号。
生成信号的目的是为了后续的数字信号处理操作提供输入。
步骤二:信号采样在本步骤中,我们将对生成的模拟信号进行采样。
采样是指在一定的时间间隔内对信号进行离散化处理,得到离散时间上的信号序列。
在MATLAB中,我们可以使用采样函数对信号进行采样。
步骤三:信号量化在本步骤中,我们将对采样后的信号进行量化。
量化是指将连续的信号离散化为一组离散的幅值。
在MATLAB中,我们可以使用量化函数对信号进行量化。
步骤四:信号滤波在本步骤中,我们将对量化后的信号进行滤波。
滤波是指通过一系列滤波器对信号进行处理,以去除不需要的频率成分或噪声。
在MATLAB中,我们可以使用滤波函数对信号进行滤波。
步骤五:信号重构在本步骤中,我们将对滤波后的信号进行重构。
重构是指将离散化的信号恢复为连续的信号。
在MATLAB中,我们可以使用重构函数对信号进行重构。
步骤六:信号分析在本步骤中,我们将对重构后的信号进行分析。
分析是指对信号的频谱、功率等特性进行分析,以了解信号的特点和性能。
在MATLAB中,我们可以使用分析函数对信号进行分析。
4. 实验结果在完成以上步骤后,我们可以得到经过数字信号处理的结果。
这些结果可以是经过采样、量化、滤波和重构后的信号波形,也可以是信号的频谱、功率等特性。
数字信号处理实验三报告 数字信号处理上机实验报告.doc

数字信号处理实验三报告数字信号处理上机实验报告实验一系统响应及系统稳定性一、实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
二、实验内容(1)给定一个低通滤波器的差分方程为y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1)输入信号x1(n)=R8(n)x2(n)=u(n)(a) 分别求出系统对x1(n)=R8(n) 和x2(n)=u(n)的响应序列,并画出其波形。
(b) 求出系统的单位冲响应,画出其波形。
实验程序:A=[1,-0.9];B=[0.05,0.05]; %%系统差分方程系数向量 B 和 Ax1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号 x1(n)=R8(n)x2n=ones(1,8); %产生信号 x2(n)=u(n)y1n=filter(B,A,x1n); %求系统对 x1(n)的响应 y1(n)n=0:length(y1n)-1;subplot(2,2,1);stem(n,y1n,".");title("(a) 系统对 R_8(n)的响应y_1(n)");xlabel("n");ylabel("y_1(n)");y2n=filter(B,A,x2n); %求系统对 x2(n)的响应 y2(n) n=0:length(y2n)-1;subplot(2,2,2);stem(n,y2n,".");title("(b) 系统对 u(n)的响应y_2(n)");xlabel("n");ylabel("y_2(n)");hn=impz(B,A,58); %求系统单位脉冲响应 h(n)n=0:length(hn)-1;subplot(2,2,3);y=hn;stem(n,hn,".");title("(c) 系统单位脉冲响应h(n)");xlabel("n");ylabel("h(n)");运行结果图:(2)给定系统的单位脉冲响应为h1(n)=R10(n)h2(n)= δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)用线性卷积法分别求系统h1(n)和h2(n)对x1(n)=R8(n)的输出响应,波形。
数字信号处理实验(MATLAB版)刘章图文 (4)

36
程序如下: T0=[0.5,0.25,0.125,0.125]; %输入不同的Ts 值 N0=[256,256,256,2048];%输入不同的N值 forr=1:4; Ts=T0(r);N=N0(r);%赋Ts和N值 n=0:N-1; D=2*pi/(Ts*N);%计算模拟频率分辨率 xa=[ZK(]exp(-0.01*n*Ts).*(sin(2*n*Ts)+ sin(2.1*n*Ts)+sin(2.2*n*Ts)); k=floor(-(N-1)/2:(N-1)/2);
16
在使用FFT进行DFT的高效运算时,一般不直接用n从n1到
n2的x(n),而是取
的~x(主n值) 区间(n=0,1,…,N-1)的数
据,经FFT将产生N个数据,定位在k=0,1,…,N-1的数字
频率点上,即对应[0,2p]。如果要显示[-p,p]范围的
频谱,则可以使用fftshift(X)进行位移。
20 图14-2 例14-3有限长序列的频谱
21
由图14-2可知,当有限长序列的长度N=5时,频谱的频 率样本点数也为5 的间距非常大,即分辨率很低。即使使用了plot命令的插值 功能,显示出的曲线仍是断断续续的,与真实曲线有较大的 误差。
改变分辨率的基本方法是给输入序列补零,即增加频谱 的密度。注意,这种方法只是改善了图形的视在分辨率,并 不增加频谱的细节信息。
11 图14-1 例14-1用FFT求有限长序列的傅里叶变换
12
例14-2 将例13-5已知的两个时域周期序列分别取主值,
得到x1=[1,1,1,0,0,0
x2=[0,1,2,3,0,
0],求时域循环卷积y(n)并用图形表示。
解 本例将例13-5使用DFT处理的计算,改为用FFT和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 利用DFT分析信号频谱一、实验目的1.加深对DFT原理的理解。
2.应用DFT分析信号频谱。
3.深刻理解利用DFT分析信号频谱的原理,分析现实过程现象及解决办法。
二、实验原理1、DFT和DTFT的关系有限长序列()x n的离散时间傅里叶变换()jX eω在频率区间(02)ωπ≤≤的N个等分点{(0),(1),(),(1)}x x x k x N-……上的N个取样值可以由下式表示:212()|()()01(21)N j knj NkkX e x n e X k k Nπωωπ--====≤≤--∑由上式可知,序列()x n的N点DFT()X k,实际上就是()x n序列的DTFT在N个等间隔频率点{(0),(1),(),(1)}X X X k X N-……上样本()X k。
2、利用DFT求DTFT方法1:由()X k恢复出()jX eω的方法如图2.1所示:图 2.1.由 N点DFT恢复频谱DTFT的流程由图2.1所示流程图可知:1()()()(22) j j n kn j nNn n kX e x n e X k W eNωωω∞∞∞---=-∞=-∞=⎡⎤==-⎢⎥⎣⎦∑∑∑由式2-2可以得到12()()()(23)Njkkx e X kNωπφω==--∑其中()xφ为内插函数12sin()2()(24)sin()2N j N e N ωωφωω--=•-方法2:然而在实际MATLAB 计算中,上诉插值公式不见得是最好的方法。
由于DFT 是DTFT的取样值,其相邻的两个频率样本点的间距为2Nπ,所以如果我们增加数据的长度N ,使得得到的DFT 谱线就更加精细,其包络就越接近DTFT 的结果,这样可以利用DFT 来近似计算DTFT 。
数字信号处理第三版高西全实验

数字信号处理高西全版课后上机实验1. 实验一:系统响应及系统稳定性clcclearx1=[ones(1,8),zeros(1,20)];subplot(321)stem(x1,'.')title('u8(n)');xlabel('n');ylabel('u(n)');x2=ones(1,30);subplot(322)stem(x2,'.')title('u(n)');xlabel('n');ylabel('u(n)');B=[0.05,0.05];A=[1,-0.9];y1=filter(B,A,x1);subplot(323)stem(y1,'.')title('y(n)');xlabel('n');ylabel('y(n)');y2=filter(B,A,x2);subplot(324)stem(y2,'.')title('y(n)');xlabel('n');ylabel('y(n)');x3=[1,zeros(1,30)];subplot(325)stem(x3,'.')title('单位脉冲');xlabel('n');ylabel('u(n)');y3=filter(B,A,x3);subplot(326)stem(y3,'.')title('单位脉冲响应');xlabel('n');ylabel('y(n)');图1 实验(1)波形clcclearx1=[ones(1,8),zeros(1,20)];subplot(321)stem(x1,'.')title('u8(n)');xlabel('n');ylabel('u(n)');h1=[ones(1,10),zeros(1,20)];subplot(322)stem(h1,'.')title('h1(n)');xlabel('n');ylabel('h(n)');h2=[1,2.5,2.5,1,zeros(1,20)];subplot(323)stem(h2,'.')title('h2(n)');xlabel('n');ylabel('h(n)');y1=conv(x1,h1)subplot(324)stem(y1,'.')axis([0,30,0,10])title('y1(n)');xlabel('n');ylabel('y(n)');y2=conv(x1,h2)subplot(325)stem(y2,'.')axis([0,30,0,10])title('y2(n)');xlabel('n');ylabel('y(n)');图2 实验(2)波形clcclearclfx1=ones(1,50);subplot(221)stem(x1,'.')axis([0,50,0,1])title('u(n)');xlabel('n');ylabel('u(n)');A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49];y1=filter(B,A,x1);subplot(223)stem(y1,'.')axis([0,50,-0.05,0.05])title('y(n)');xlabel('n');ylabel('y(n)');n=0:100;x2=sin(0.014*n)+sin(0.4*n);subplot(222)stem(x2,'.')axis([0,100,-1,2])title('x(n)');xlabel('n');ylabel('x(n)');y2=filter(B,A,x2);subplot(224)stem(y2,'.')axis([0,100,-1,1])title('y(n)');xlabel('n');ylabel('y(n)');图3 实验(3)波形2. 实验二:时域采样与频域采样A=444.128;a=50*sqrt(2)*pi;w=50*sqrt(2)*pi;fs1=1000;N1=0.064*fs1;n=0:N1-1;xn1=A.*exp(-a*n/fs1).*sin(w*n/fs1).*(n>=0);subplot(321)stem(xn1,'.')axis([0,55,-10,150])title('x1(n) fs=1kHz');xlabel('n');ylabel('x1(n)');Xk1=fft(xn1,N1);f1=(0:N1-1)/0.064;subplot(322)plot(f1,abs(Xk1/fs1))title('T*FT[x(nT)], Fs=1000Hz');fs2=300;N2=floor(0.064*fs2);n=0:N2-1;xn2=A.*exp(-a*n/fs2).*sin(w*n/fs2).*(n>=0);subplot(323)stem(xn2,'.')axis([0,20,-10,150])title('x2(n)fs=300Hz');xlabel('n');ylabel('x2(n)');Xk2=fft(xn2,N2);f2=(0:N2-1)/0.064;subplot(324)plot(f2,abs(Xk2/fs2))title('T*FT[x(nT)], Fs=300Hz');fs3=200;N3=floor(0.064*fs3);n=0:N3-1;xn3=A.*exp(-a*n/fs3).*sin(w*n/fs3).*(n>=0);subplot(325)stem(xn3,'.')axis([0,15,-10,150])title('x3(n)fs=200Hz');xlabel('n');ylabel('x3(n)');Xk3=fft(xn3,N3)f3=(0:N3-1)/0.064;subplot(326)plot(f3,abs(Xk3/fs3))title('T*FT[x(nT)], Fs=200Hz');图1 实验(1)时域采样代码:n=0:26;xa=1:14;xb=13:-1:1;xn=[xa,xb]; Xk=fft(xn,512);k=0:2/512:2*(1-1/512); subplot(321)plot(k,abs(Xk))axis([0,1,0,200])title('FT[x(n)]')subplot(322)stem(n,xn,'.')title('三角波序列')X32k=fft(xn,32);x32n=ifft(X32k);X16k=X32k(1:2:32);x16n=ifft(X16k,16);k=0:15;subplot(323)stem(k,abs(X16k),'.')title('16点频域采样')axis([0,10,0,200])subplot(324)stem(k,x16n,'.')title('16点IDFT[X16k]')axis([0,30,0,15])k1=0:31;subplot(325)stem(k1,abs(X32k),'.')title('32点频域采样')axis([0,10,0,200])subplot(326)stem(k1,x32n,'.')title('32点IDFT[X32k]')axis([0,30,0,15])运行结果:图2 实验(2)频域采样3. 实验三:用FFT对信号作频谱分析代码:clcclearn1=0:30;x1=[1,1,1,1,zeros(1,27)];n2=0:27;x2=[1:4,4:-1:1,zeros(1,20)];x3=[4:-1:1,1:4,zeros(1,20)];subplot(331)stem(n1,x1,'.')axis([0,10,0,1])title('x1(n)');xlabel('n');ylabel('x1(n)')subplot(332)stem(n2,x2,'.')axis([0,10,0,4])title('x2(n)');xlabel('n');ylabel('x2(n)')subplot(333)stem(n2,x3,'.')axis([0,10,0,4])title('x3(n)');xlabel('n');ylabel('x3(n)')k1=0:1/4:7/4;k2=0:1/8:15/8;X8k1=fft(x1,8);subplot(334)stem(k1,abs(X8k1),'.')title('8点FFT变换')X16k1=fft(x1,16);subplot(337)stem(k2,abs(X16k1),'.')title('16点FFT变换')X8k2=fft(x2,8);subplot(335)stem(k1,abs(X8k2),'.')title('8点FFT变换')X16k2=fft(x2,16);subplot(338)stem(k2,abs(X16k2),'.')title('16点FFT变换')X8k3=fft(x3,8);subplot(336)stem(k1,abs(X8k3),'.')title('8点FFT变换')X16k3=fft(x3,16);subplot(339)stem(k2,abs(X16k3),'.')title('16点FFT变换')运行结果:图1 实验(1)图形代码:clcclearn=0:30;x4=cos(pi/4*n);x5=cos(pi/4*n)+cos(pi/8*n);subplot(321)stem(n,x4,'.')axis([0,30,-1,1])title('x4(n)=cos(pi/4*n)');xlabel('n');ylabel('x4(n)')subplot(322)stem(n,x5,'.')axis([0,30,-2,2])title('x5(n)=cos(pi/4*n+pi/8*n)');xlabel('n');ylabel('x5(n)')k1=0:1/4:7/4;k2=0:1/8:15/8;X8k1=fft(x4,8);subplot(323)stem(k1,abs(X8k1),'.')axis([0,2,0,5])title('8点FFT变换')X16k1=fft(x4,16);subplot(325)stem(k2,abs(X16k1),'.')axis([0,2,0,8])title('16点FFT变换')X8k2=fft(x5,8);subplot(324)stem(k1,abs(X8k2),'.')axis([0,2,0,10])title('8点FFT变换')X16k2=fft(x5,16);subplot(326)stem(k2,abs(X16k2),'.')axis([0,2,0,10])title('16点FFT变换')图2 实验(2)图形clcclearn=1:100;Fs=64;x6=cos(8*pi*n/Fs)+cos(16*pi*n/Fs)+cos(20*pi*n/Fs); N1=16;F1=Fs/N1;k1=-N1/2:N1/2-1;fk1=F1*k1;X16k=fft(x6,16);X16k1=fftshift(X16k)subplot(311)stem(fk1,abs(X16k1),'.')axis([-30,30,0,10])title('变换区间N=16')N2=32;F2=Fs/N2;k2=-N2/2:N2/2-1;fk2=F2*k2;X32k=fft(x6,32);X32k1=fftshift(X32k)subplot(312)stem(fk2,abs(X32k1),'.')axis([-30,30,0,20])title('变换区间N=32')N3=64;F3=Fs/N3;k3=-N3/2:N3/2-1;fk3=F3*k3;X64k=fft(x6,64);X64k1=fftshift(X64k)subplot(313)stem(fk3,abs(X64k1),'.')axis([-30,30,0,40])title('变换区间N=64')图3 实验(3)图形4. 实验四:IIR数字滤波器设计及软件实现function st=mstgN=800;Fs=10000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10;fm1=fc1/10;fc2=Fs/20;fm2=fc2/10;fc3=Fs/40;fm3=fc3/10;xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);st=xt1+xt2+xt3;fxt=fft(st,N);subplot(211)plot(t,st);grid;xlabel('t/s');ylabel('s(t)')axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')subplot(212)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱');axis([0,2000,0,1]);end图1 信号产生函数图形%低通N=800;Fs=10000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fp=280;fs=450;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;[N,wpo]=ellipord(wp,ws,rp,rs)[B,A]=ellip(N,rp,rs,wpo)[H,W]=freqz(B,A,1000)st=mstg;y1=filter(B,A,st)figure(2)subplot(312)plot(t,y1)title('时域波形')axis([0,Tp,min(y1),max(y1)])subplot(311)plot(W/pi,20*log10(abs(H)/max(abs(H))))title('低通滤波器损耗函数')axis([0,1,-80,10])subplot(313)Y1=fft(y1)stem(f,abs(Y1)/max(abs(Y1)),'.')axis([0,Fs/5,0,1.5])title('幅频特性曲线')%带通N=800Fs=10000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fp1=440;fpu=560;fs1=275;fsu=900wp=[2*fp1/Fs,2*fpu/Fs];ws=[2*fs1/Fs,2*fsu/Fs];rp=0.1;rs=60;[N,wpo]=ellipord(wp,ws,rp,rs)[B,A]=ellip(N,rp,rs,wpo)[H,W]=freqz(B,A,1000)st=mstg;y1=filter(B,A,st)figure(3)subplot(312)plot(t,y1)title('时域波形')axis([0,Tp,min(y1),max(y1)])subplot(311)plot(W/pi,20*log10(abs(H)/max(abs(H)))) title('带通滤波器损耗函数')axis([0,1,-80,10])subplot(313)Y1=fft(y1)stem(f,abs(Y1)/max(abs(Y1)),'.')axis([0,Fs/5,0,1.5])title('幅频特性曲线')%高通N=800;Fs=10000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fp=890;fs=600;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;[N,wpo]=ellipord(wp,ws,rp,rs)[B,A]=ellip(N,rp,rs,wpo,'high')[H,W]=freqz(B,A,1000)y1=filter(B,A,st)figure(4)subplot(311)plot(W/pi,20*log10(abs(H)/max(abs(H))))title('高通滤波器损耗函数')axis([0,1,-80,10])subplot(312)plot(t,y1);title('时域波形')axis([0,Tp,min(y1),max(y1)])subplot(313)Y1=fft(y1)stem(f,abs(Y1)/max(abs(Y1)),'.')axis([0,Fs/5,0,1.5]);title('幅频特性曲线')图2 低通图形图3 带通图形图4 高通图形5. 实验五:FIR数字滤波器设计及软件实现function xt=xtgN=1000;Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10;mt=cos(2*pi*f0*t);ct=cos(2*pi*fc*t);xt=mt.*ct;nt=2*rand(1,N)-1;fp=150;fs=200;Rp=0.1;As=70;fb=[fp,fs];m=[0,1];dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs);hn=remez(n,fo,mo,W);yt=filter(hn,1,10*nt);xt=xt+yt;fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(211)plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a) 信号加噪声波形') subplot(212)plot(f,abs(fst)/max(abs(fst)));grid;xlabel('f/Hz');ylabel('幅度'); axis([0,Fs/2,0,1.2]);title('(b) 信号加噪声的频谱')end%设计低通滤波器并滤除噪声Fs=1000;N=1000;wp=0.24*pi;ws=0.3*pi;fs=150;fp=120;Wc=(wp+ws)/(2*pi);B=2*pi*(fs-fp)/Fs;Nb=ceil(11*pi/B);hn=fir1(Nb-1,Wc,blackman(Nb));Hw=abs(fft(hn,N))xt=xtg;y=fftfilt(hn,xt,N)f=(0:N-1)*Fs/N;figure(2)subplot(211)plot(f,20*log10(Hw/max(Hw)));title('低通滤波器幅频特性') xlabel('f/Hz');ylabel('幅度');axis([0,Fs/2,-120,10]);subplot(212)plot(f/2000,y);title('滤除噪声后的信号波形')xlabel('t/s');ylabel('yw(t)');图1 信号及其频谱图2 低通滤波器滤除噪声。
数字信号处理实验报告(全)

实验一、离散时间系统及离散卷积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);结果:。
(完整版)数字信号处理实验三

实验三 离散时间信号的频域分析实验室名称:信息学院2204 实验时间:2015年10月15日姓 名:蒋逸恒 学号:20131120038 专业:通信工程 指导教师:陶大鹏成绩教师签名:一、实验目的1、 对前面试验中用到的信号和系统在频域中进行分析,进一步研究它们的性质。
2、 学习离散时间序列的离散时间傅立叶变换(DTFT 、离散傅立叶变换(DFT 和z 变换。
二、实验内容Q3.1在程序P3.1中,计算离散时间傅里叶变换的原始序列是什么?Matlab 命令pause的作用是什么?Q3.2运行程序P3.1,求离散时间傅里叶变换得的实部、虚部以及幅度和香相位谱。
离散时间傅里叶变换是 w 的周期函数吗?若是,周期是多少?描述这四个图形表示的 对称性。
Q3.2修改程序P3.1,在范围0W w Wn 内计算如下序列的离散时间傅里叶变换:0.7 0.5e jw 0.3e j2w e j3w1 0.3e jw 0.5e j2w 0.7e j3w并重做习题P3.2,讨论你的结果。
你能解释相位谱中的跳变吗? 可以移除变化。
试求跳变被移除后的相位谱。
Q3.6通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
哪个参数控制时移量?Q3.10通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
哪个参数控制频移量?Q3.14通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
Q3.15运行修改后的程序并讨论你的结果。
Q3.17通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
Q3.20通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
试解释程序怎样进行时间反转运算。
Q3.23编写一个MATLAB?序,计算并画出长度为为值,其中L > N,然后计算并画出L 点离散傅里叶逆变换X[k]。
对不同长度N 和不同的 离散傅里叶变换长度L ,运行程序。
讨论你的结果。
U(e jw )MATLAE 命P3.2,对程序生成的图形中的 P3.3,对程序生成的图形中的 P3.4,对程序生成的图形中的P3.5,对程序生成的图形中的 P3.6,对程序生成的图形中的 N 的L 点离散傅里叶变换X[k]的Q3.26在函数circshift 中,命令rem 的作用是什么? Q3.27解释函数circshift 怎样实现圆周移位运算。
数字信号处理实验报告

补充 补充 Leabharlann 充7.19 7.19 7.19 7.19 7.30 7.30 7.30 7.30 7.30 7.30 7.30 7.30 7.30 7.30 7.30 7.30 7.30 7.31 7.31 7.31 7.31 7.31 7.31 7.31 7.31 8.01 8.01 8.01 8.01 8.01 8.01 8.01 8.01 8.01 8.01 8.01
8.07 8.07 8.07 8.07 8.07 8.07 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08 8.08
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
杨龙 王明鸣 秦李 左斯阳 车浩维 廖九龄 涂佳兵 李颂 彭杰涛 黄国熙 刘科 姜磊 杜淼 何元明 沈兆琪 唐松 陈俊希 岳洲 唐国鹏 谷明强 张宇航 冯义斌 周蓉 黄红艳 姚伟 叶晓峰 孙小林 余文 钟华 张波 宋钊 刘策 聂杰 曾昊天 程鹏儒 赵澜
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
数字信号处理实验指导书思考题答案实验图

目录实验一 Matlab与数字信号处理基础 (2)实验二离散傅里叶变换与快速傅里叶变换 (4)实验三数字滤波器结构 (6)注释 (9)主要参考文献 (9)实验一 Matlab与数字信号处理基础一、实验目的和任务1、熟悉Matlab的操作环境2、学习用Matlab建立基本序列的方法;3、学习用仿真界面进行信号抽样的方法。
二、实验内容1、基本序列的产生:单位抽样序列、单位阶跃序列、矩形序列、实指数序列和复指数序列的产生2、用仿真界面进行信号抽样练习:用simulink建模仿真信号的抽样三、实验仪器、设备及材料计算机、Matlab软件四、实验原理序列的运算、抽样定理五、主要技术重点、难点Matlab的各种命令与函数、建模仿真抽样定理六、实验步骤1、基本序列的产生:单位抽样序列δ(n): n=-2:2;x=[0 0 1 0 0];stem(n,x);单位阶跃序列u(n):n=-10:10;x=[zeros(1,10) ones(1,11)];stem(n,x);矩形序列R N(n):n=-2:10;x=[0 0 ones(1,5) zeros(1,6)];stem(n,x);实指数序列0.5n:n=0:30;x=0.5.^nstem(n,x);复指数序列e(-0.2+j0. 3)n:n=0:30;x=exp((-0.2+j*0.3)*n);模:stem(n,abs(x));幅角:stem(n,angle(x));2、用仿真界面进行信号抽样练习:(1)在Matlab命令窗口中输入simulink 并回车,以打开仿真模块库;(2)按CTRL+N,以新建一仿真窗口;在仿真模块库中用鼠标点击Sources(输入源模块库),从中选择sine wave(正弦波模块)并将其拖至仿真窗口;(3)在仿真模块库中用鼠标点击Discrete(离散模块库),从中选择Zero-Order Hold(零阶保持器模块)并将其拖至仿真窗口;(4)在仿真模块库中用鼠标点击Sinks(显示模块库),从中选择Scope(示波器模块)并将其拖至仿真窗口;(5)在仿真窗口中把上述模块依次连接起来;(6)用鼠标双击Scope模块,以打开示波器的显示界面;(7)用鼠标点击仿真窗口工具条中的►图标开始仿真,结果显示在示波器中;(8)用鼠标双击Zero-Order Hold模块,打开其参数设置窗口,改变sample time参数值,例如1、0.5、0.1、0.05…,用鼠标点击仿真窗口工具条中的►图标开始仿真,比较示波器显示结果(选三个参数值,得三个结果);(9)在仿真模块库中用鼠标点击Sinks(显示模块库),从中选择To Workspace(输出到当前工作空间的变量模块)并将其拖至仿真窗口;(10)用鼠标双击To Workspace模块,打开其参数设置窗口,改变variable name参数值为x ;同时把save format参数值设置为Array ;(11)在仿真窗口中先用鼠标点击Zero-Order Hold模块与Scope模块的连线,然后按住CTRL 键,从选中连线的中部引出一条线到To Workspace模块;(12)用鼠标双击Zero-Order Hold模块,打开其参数设置窗口,改变sample time参数值,例如1、0.5、0.1、0.05…,用鼠标点击仿真窗口工具条中的►图标开始仿真,并返回命令窗口,用stem(x)作图,比较序列图显示结果(选三个参数值,得三个结果);七、实验报告要求1、实验步骤按实验内容指导进行;2、对于实验内容1和2的数据必须给出的离散图,其相关参数应在图中注明;3、具有关联性和比较性的图形最好用subplot()函数,把它们画在一起;4、实验报告按规定格式填写,要求如下:(1)实验步骤根据自己实际操作填写;(2)各小组实验数据不能完全相同,否则以缺席论处;5、实验结束,实验数据交指导教师检查,得到允许后可以离开,否则以缺席论处;八、实验注意事项1、Matlab编程、文件名、存盘目录均不能使用中文。