数字信号处理实验一
数字信号处理实验

实验一: 系统及响应时域采样及频域采样1. 实验目的(1)掌握用卷积求系统响应及卷积定理的验证;(2)掌握连续信号经理想采样前后的频谱变化关系, 加深对时域采样定理的理解。
(3)掌握频域采样引起时域周期化概念, 加深对频域采样定理的理解。
(4) 掌握序列傅里叶变换的计算机实现方法, 利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
3. 实验内容及步骤(1) 认真复习卷积定理、 时域采样和频域采样理论。
(2) 编制实验用主程序及相应子程序。
①系统单位脉冲响应序列产生子程序。
有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB 语言中的卷积函数conv 。
conv 用于两个有限长度序列的卷积,它假定两个序列 都从n=0开始。
调用格式如下: y=conv (x, h) ② 卷积定理的验证。
(3)时域采样定理的验证:信号产生子程序, 用于产生实验中要用到的下列信号序列:x a (t)=Ae -at sin(Ω0t)u(t) 进行采样, 可得到采样序列x a (n)=x a (nT)=Ae -anT sin(Ω0nT)u(n), 0≤n<50其中A 为幅度因子, a 为衰减因子, Ω0是模拟角频率, T 为采样间隔。
这些参数都要在实验过程中由键盘输入, 产生不同的x a (t)和x a (n)。
>> %1时域采样序列分析 A=400;a=200;w=200; n=0:50-1;fs=1000;xa=A*exp((-a)*n/fs).*sin(w*n/fs); k=-200:200;w=(pi/100)*k;Xk=fft(xa,length(k));magX=abs(Xk);angX=angle(Xk); subplot(2,1,1);stem(n,xa,'.');xlabel('n');ylabel('xa(n)'); title('信号的类型');)()(10n R n h a =)3()2(5.2)1(5.2)()(-+-+-+=n n n n n h b δδδδ1,,2,1,0,)()()(-==M k e H e X e Y k k k j j a j ωωωsubplot(2,1,2);plot(w/pi,magX);xlabel('w/pi'); ylabel('|Yjw|');title('Y(|jw|)');5101520253035404550n x a (n )信号的类型-2.5-2-1.5-1-0.500.51 1.5205001000w/pi|Y j w |Y(|jw|)(4)频域采样定理的验证:>> %1时域采样序列分析fs=1000 A=400; a=200; w=200;;ts=64*10^(-3); fs=1000;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,1);stem(n,xn);xlabel('n,fs=1000Hz'); ylabel('xn');title('xn'); subplot(3,2,2);plot(n,abs(Xk));xlabel('k,fs=1000Hz'); title('|X(k)|');20406080n,fs=1000Hzx nxn2040608005001000k,fs=1000Hz|X(k)|51015n,fs=200Hzx nxn51015100200k,fs=200Hz |X (k)|10203040n,fs=500Hzx nxn102030400500k,fs=500Hz|X (k)|>> %频域采样定理验证M=26;N=32;n=0:M;n1=0:13;x1=n1+1; n2=14:26;x2=27-n2; x=[x1,x2];Xk=fft(x,512); X32k=fft(x,32);k=0:511;w=(pi/512)*k;subplot(321);stem(n,x);xlabel('n'); ylabel('xn');axis([0,31,0,15]);subplot(322);plot(w,abs(Xk));xlabel('k'); ylabel('|X(k)|');axis([0,1,0,200]) X16k=X32k(1:2:N);x32n=ifft(X32k);x16n=ifft(X16k,16); k1=0:31;k2=0:15;subplot(323);stem(k1,abs(X32k));xlabel('k'); ylabel('X32k');axis([0,31,0,200]);subplot(325);stem(k2,abs(X16k));xlabel('k'); ylabel('|X(k)|');axis([0,15,0,200]) n=0:31;subplot(324);stem(n,abs(x32n));xlabel('n'); ylabel('|x(n)|');axis([0,31,0,15]) n1=0:15;subplot(326);stem(n1,abs(x16n));xlabel('n'); ylabel('|x(n)|');axis([0,31,0,15])102030nx n0.51100200k|X (k )|kX 32kn|x (n )|k|X (k )|102030n|x (n )|实验二:用FFT作谱分析1.实验目的(1) 进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。
数字信号处理实验

例5:计算信号的卷积
i=0:1:49 x(n)=sin(2*pi*i/50) h1(n)=[zeros(1,10),1,zeros(1,20)];
h2(n) =[zeros(1,20),1,zeros(1,10)];
图1.1给出了卷积结果的图形,求得的结果存放在数 组c中为:{-2 -4 1 3 1 5 1 -3}。
例2用MATLAB计算差分方程的输出:
已知输入序列 ,求输出 解 MATLAB程序如下: N=41; a=[0.8 -0.44 0.36 0.22]; b=[1 0.7 -0.45 -0.6]; x=[1 zeros(1,N-1)]; k=0:1:N-1; y=filter(a,b,x); stem(k,y) xlabel('n');ylabel('幅度')
1.5
2 1
0
0.5
分析范围:[0, 2π] 分析范围:[0, π]
0.5 1 /
1.5
2 1
end
要求
验证线性卷积的线性性质 分析输出和输入之间相对位移与对应系统的h(n)之间的 关系 绘制x(n),h(n)和y(n)。给出分析结果
例4(选做)
编制程序求解下列两个系统的单
位冲激响应和阶跃响应,并绘出其图形。要求分
数字信号处理实验
实验安排
实验一 序列的基本运算 实验二 快速傅立叶变换(FFT)及其应用 实验三 IIR数字滤波器的设计
实验四 FIR数字滤波器的设计
实验一序列的基本运算
数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的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,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
数字信号处理实验报告

《数字信号处理》实验报告学院:信息科学与工程学院专业班级:通信1303姓名学号:实验一 常见离散时间信号的产生和频谱分析一、 实验目的(1) 熟悉MATLAB 应用环境,常用窗口的功能和使用方法;(2) 加深对常用离散时间信号的理解;(3) 掌握简单的绘图命令;(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号进行频域分析。
二、 实验原理(1) 常用离散时间信号a )单位抽样序列⎩⎨⎧=01)(n δ00≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ0≠=n k n b )单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n c )矩形序列 ⎩⎨⎧=01)(n R N 其他10-≤≤N nd )正弦序列)sin()(ϕ+=wn A n xe )实指数序列f )复指数序列()()jw n x n e σ+=(2)离散傅里叶变换:设连续正弦信号()x t 为0()sin()x t A t φ=Ω+这一信号的频率为0f ,角频率为002f πΩ=,信号的周期为00012T f π==Ω。
如果对此连续周期信号()x t 进行抽样,其抽样时间间隔为T ,抽样后信号以()x n 表示,则有0()()sin()t nT x n x t A nT φ===Ω+,如果令w 为数字频率,满足000012s sf w T f f π=Ω=Ω=,其中s f 是抽样重复频率,简称抽样频率。
为了在数字计算机上观察分析各种序列的频域特性,通常对)(jw e X 在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n), 有∑-=-=10)()(N n n jw jw k k e n x e X其中 1,,1,02-==M k k Mw k ,π 通常M 应取得大一些,以便观察谱的细节变化。
取模|)(|k jw e X 可绘出幅频特性曲线。
数字信号处理实验

数字信号处理实验实验一信号、系统及系统响应1、实验目的认真复习采样理论、离散信号与系统、线性卷积、序列的z 变换及性质等有关内容;掌握离散时间序列的产生与基本运算,理解离散时间系统的时域特性与差分方程的求解方法,掌握离散信号的绘图方法;熟悉序列的z 变换及性质,理解理想采样前后信号频谱的变化。
2、实验内容a. 产生长度为500 的在[0,1]之间均匀分布的随机序列,产生长度为500 的均值为0 单位方差的高斯分布序列。
b. 线性时不变系统单位脉冲响应为h(n)=(0.9)nu(n),当系统输入为x(n)=R10(n)时,求系统的零状态响应,并绘制波形图。
c. 描述系统的差分方程为:y(n)-y(n-1)+0.9y(n-2)=x(n),其中x(n)为激励,y(n)为响应。
计算并绘制n=20,30,40,50,60,70,80,90,100 时的系统单位脉冲响应h(n);计算并绘制n=20,30,40,50,60,70,80,90,100 时的系统单位阶跃响应s(n);由h(n)表征的这个系统是稳定系统吗?d. 序列x(n)=(0.8)nu(n),求DTFT[x(n)],并画出它幅度、相位,实部、虚部的波形图。
观察它是否具有周期性?e. 线性时不变系统的差分方程为y(n)=0.7y(n-1)+x(n),求系统的频率响应H(ejω),如果系统输入为x(n)=cos(0.05πn)u(n),求系统的稳态响应并绘图。
f. 设连续时间信号x(t)=e-1000|t|,计算并绘制它的傅立叶变换;如果用采样频率为每秒5000 样本对x(t)进行采样得到x1(n),计算并绘制X1(ejω),用x1(n)重建连续信号x(t),并对结果进行讨论;如果用采样频率为每秒1000 样本对x(t)进行采样得到x2(n),计算并绘制X2(ejω),用x2(n)重建连续信号x(t),并对结果进行讨论。
加深对采样定理的理解。
g. 设X1(z)=z+2+3z-1,X2(z)=2z2+4z+3+5z-1,用卷积方法计算X1(z)X2(z)。
数字信号处理实验一 实验报告

数字信号处理实验一1.完成本文档内容的自学阅读和其中各例题后子问题;Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它。
答: clf;n=-10:20;u=[zeros(1,10) 1 zeros(1,20)];stem(n,u);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2])Q1.2命令clf,axis,title,xlabel和ylabel的作用是什么?答:clf清除图对象,axis 控制轴刻度和风格的高层指令,title 设置图名,xlabel和ylabel设置横纵坐标轴名称。
Q1.3修改程序P1.1以产生带有延时11个单位样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
答:clf;n=0:30;ud=[zeros(1,11) 1 zeros(1,19)];stem(n,ud);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([0 30 0 1.2])Q1.4修改程序P1.1以产生单位步长序列s[n].运行修改后程序并显示产生的序列。
答:clf;n = 0:30;u = [1.*n];stem(n,u);title('Unit Sample Sequence');axis([0 30 0 30])Q1.5修改程序P1.1,以产生带有超前7个样本的延时单位阶跃序列sd[n]。
运行修改后的程序并显示产生的序列。
答:clf;n = -15:30;s=[zeros(1,8) ones(1,38)];stem(n,s);xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence');axis([-15 30 0 1.2]);Q1.6 运行程序P1.2,以产生复数值的指数序列。
数字信号处理实验报告

《数字信号处理》实验报告课程名称:《数字信号处理》学院:信息科学与工程学院专业班级:通信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. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
数字信号处理实验实验一

数字信号处理实验报告实验名称:离散时间系统的时域特性分析学生姓名:z学生学号:学生班级:上课时间:周二上午指导老师:一、实验目的线性时不变离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应序列可以刻画其时域特性。
本实验通过使用MATLAB函数研究离散时间系统的时域特性,以加深对离散时间系统的差分方程、冲激响应和系统的线性和时不变特性的理解。
二、实验原理1.线性系统满足叠加原理的系统称为线性系统,即若某一输入是由N个信号的加权和组成的,则输出就是系统对这几个信号中每一个输入的响应的加权和。
即:如果系统在x1(n)和x2(n)输入时对应的输出分别为y1(n)和y2(n),当对任意常数a1和a2,式T[a1x1(n)+a2x2(n)]=a1T[x1(n)]+a2[x2(n)]=a1y1(n)+a2y2(n)成立,则该系统是线性系统。
2.时不变系统若输入x(n)的输出为y(n),则将输入序列移动任意位后,其输出序列除了跟着位移外,数值应保持不变。
即:当T[x(n)]=y(n),满足T[x(n-m)]=y(n-m) (m为任意整数)时,则该系统就称为时不变系统。
3.常系数线性差分方程线性时不变离散系统的输入、输出关系可以用以下常系数线性差分描述: y(n)=- ∑aky(n-k)+ ∑brx(n-r)当输入x(n)为单位冲激序列时,输出y(n)即为系统的单位冲击响应h(n)。
三、实验内容考虑如下差分方程描述的两个离散时间系统:系统1:y(n)=0.5x(n)+0.27x(n-1)+0.77x(n-2)系统2:y(n)=0.45x(n)+0.5x(n-1)+0.45x(n-2)+0.53y(n-1)-0.46y(n-2)输入想x(n)=cos(20n/256)+cos(200n/256)(1)编程求上述两个系统的输出,并分别画出系统的输入与输出波形。
(2)编程求上述两个系统的冲激响应序列,并画出其波形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的
1. 通过本次实验回忆并熟悉MATLAB这个软件。
2. 通过本次实验学会如何利用MATLAB进行序列的简单运算。
3. 通过本次实验深刻理解理论课上的数字信号处理的一个常见方法——对时刻n的样本附近的一些样本求平均,产生所需的输出信号。
3. 通过振幅调制信号的产生来理解载波信号与调制信号之间的关系。
二、实验内容
1. 编写程序在MATLAB中实现从被加性噪声污染的信号中移除噪声的算法,本次试验采用三点滑动平均算法,可直接输入程序P1.5。
2. 通过运行程序得出的结果回答习题Q1.31-Q1.33的问题,加深对算法思想的理解。
3. 编写程序在MATLAB中实现振幅调制信号产生的算法,可直接输入程序P1.6。
4. 通过运行程序得出的结果回答习题Q1.34-Q1.35的问题,加深对算法思想的理解。
三、主要算法与程序
1. 三点滑动平均算法的核心程序:
%程序P1.5
%通过平均的信号平滑
clf;
R=51;
d=0.8*(rand(R,1)-0.5);%产生随噪声
m=0:R-1;
s=2*m.*(0.9.^m);%产生为污染的信号
x=s+d';%产生被噪音污染的信号
subplot(2,1,1);
plot(m,d','r-',m,s,'g--',m,x,'b-.');
xlabel('时间序号n');ylabel('振幅');
legend('d[n]','s[n]','x[n]');
x1=[0 0 x];x2=[0 x 0];x3=[x 0 0];
y=(x1+x2+x3)/3;
subplot(2,1,2);
plot(m,y(2:R+1),'r-',m,s,'g--');
legend('y[n]','s[n]');
xlabel('时间序号n');ylabel('振幅');
2. 振幅调制信号的产生核心程序:(由于要几个结果,因此利用subplot函数画图)
%程序P1.6
%振幅调制信号的产生
n=0:100;
m=0.1;fH=0.1;fL=0.01;
m1=0.3;fH1=0.3;fL1=0.03;
xH=sin(2*pi*fH*n);
xL=sin(2*pi*fL*n);
y=(1+m*xL).*xH;
xH1=sin(2*pi*fH1*n);
xL1=sin(2*pi*fL1*n);
y1=(1+m1*xL).*xH;
y2=(1+m*xL).*xH1;
y3=(1+m*xL1).*xH;
subplot(2,2,1);
stem(n,y);
grid;
xlabel('时间序号n');ylabel('振幅');title('m=0.1;fH=0.1;fL=0.01;');
subplot(2,2,2);
stem(n,y1);
grid;
xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.1;fL=0.01;');
subplot(2,2,3);
stem(n,y2);
grid;
xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.3;fL=0.01;');
subplot(2,2,4);
stem(n,y3);
grid;
xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.1;fL=0.03;');
四、实验结果与分析
Q1.29:运行程序P1.5,以产生所有相关信号。
运行程序所得结果如下:
Q1.30:未污染的信号s[n]是什么样的形式?加性噪声d[n]是什么形式?
答:
未污染的信号S[n]的形式应该为)
[m
m
n
S 表达式所表示的图形,不
2
^
9.0(*
*
]
过自变量的取值为0-50的整数,因此图形应该为一系列离散的点;
加性噪声d[n]的形式应该为在区间(-0.4,0.4)中均匀分布长度为51的随机信号,且为列向量51*1。
Q1.31:使用语句x=s+d能产生被噪声污染的信号吗?若不能,为什么?
答:
使用语句x=s+d不能产生被噪声污染的信号。
因为s[n]为行向量,长度为1*51,
而d[n]为列向量,长度为51*1,因此必须将d[n]进行转秩才能相加。
Q1.32:信号x1,x2和x3与信号x之间的关系是什么?
答:
信号x1相当于将信号x延迟一个时间单位,信号x2相当于不变,信号x3相当于将信号x提前一个时间单位。
Q1.33:legend命令的作用是什么?
答:
Legend命令的作用是对各种图标进行标注,在本实验中将“-”标注为“d[n]”,将“--”标注为“s[n]”,将“-.”标注为“x[n]”。
Q1.34:在载波信号xH[n]和调制信号xL[n]采用不同频率、不同调制指数m的情况下,运行程序P1.6,以产生振幅调制信号y[n]。
答:
Q1.35:算术运算符*和.*之间的区别是什么?
答:
“*”是进行两个标量的相乘,所得结果仍为一个标量;“.*”是长度相同的行向量(或者列向量相乘),所得结果仍为长度不变的行向量(或者列向量)。
五、实验小结
实验收获:
通过本次实验加深了我对数字信号处理的理解,并对三点滑动平均算法有了进一步的了解,并且对数字信号处理的一些细节问题有了大概的认识。
对于数字信号的编程处理我们完全可以将其看做一个数组进行操作,只要熟悉MATLAB中的对数组的操作,我们就能很好的完成以后的实验了。
不足之处:
本次实验是数字信号处理实验的第一个实验,总体上说难度不是很大,程序也是对照书本打上的,但是其中的一些细节问题还是需要仔细考虑的。
对于理论的理解不够还是导致了本次实验在习题的回答上出现了问题,对于一些问题的回答还必须上网查阅资料才行,因此在以后的理论学习中要多加注意。
体会:
通过本次实验我的体会很深,MATLAB的功能太强大了,对于数字信号处理用MATLAB太合适了。
并且对于数字信号我们完全可以将其看为一个数组进行处理,大大化简了我们对信号处理的难度。