数字信号处理实验报告
数字信号处理实验报告 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、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对时域采样定理的理解。
2、熟悉离散信号和系统的时域特性。
3、熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。
4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号、系统及其系统响应进行频域分析。
二、 实验原理1.理想采样序列:对信号x a (t)=A e −αt sin(Ω0t )u(t)进行理想采样,可以得到一个理想的采样信号序列x a (t)=A e −αt sin(Ω0nT ),0≤n ≤50,其中A 为幅度因子,α是衰减因子,Ω0是频率,T 是采样周期。
2.对一个连续时间信号x a (t)进行理想采样可以表示为该信号与一个周期冲激脉冲的乘积,即x ̂a (t)= x a (t)M(t),其中x ̂a (t)是连续信号x a (t)的理想采样;M(t)是周期冲激M(t)=∑δ+∞−∞(t-nT)=1T ∑e jm Ωs t +∞−∞,其中T 为采样周期,Ωs =2π/T 是采样角频率。
信号理想采样的傅里叶变换为X ̂a (j Ω)=1T ∑X a +∞−∞[j(Ω−k Ωs )],由此式可知:信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期为Ωs =2π/T 。
根据时域采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混叠现象。
三、简明步骤产生理想采样信号序列x a (n),使A=444.128,α=50√2π,Ω0=50√2π。
(1) 首先选用采样频率为1000HZ ,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;(2) 改变采样频率为300HZ ,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3) 进一步减小采样频率为200HZ ,T=1/200,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
数字信号处理实验六报告
实验六 频域抽样定理和音频信号的处理实验报告 (一)频域抽样定理给定信号1, 013()27, 14260, n n x n n n +≤≤⎧⎪=-≤≤⎨⎪⎩其它 1.利用DTFT 计算信号的频谱()j X e ω,一个周期内角频率离散为M=1024点,画出频谱图,标明坐标轴。
n=0:100; %设定n 及其取值范围for n1=0:13 %对于n 处于不同的取值范围将n 代入不同的表达式xn(n1+1)=n1+1;endfor n2=14:26xn(n2+1)=27-n2;endfor n3=27:100xn(n3+1)=0;endM=1024; %设定抽样离散点的个数k=0:M-1; %设定k 的取值范围w=2*pi*k/M; %定义数字角频率[X,w] = dtft2( xn,n, M ) %调用dtft2子程序求频谱plot(w,abs(X)); %画出幅度值的连续图像xlabel('w/rad');ylabel('|X(exp(jw))|');title(' M=1024时的信号频谱图像'); %标明图像的横纵坐标和图像标题function [X,w] = dtft2(xn, n, M ) %定义x(n)的DTFT 函数w=0:2*pi/M:2*pi-2*pi/M; %将数字角频率w 离散化L=length(n); %设定L 为序列n 的长度 for (k=1:M) %外层循环,w 循环M 次sum=0; %每确定一个w 值,将sum 赋初值为零for (m=1:L) %内层循环,对n 求和,循环次数为n 的长度sum=sum+xn(m)*exp(-j*w(k)*n(m)); %求和X(k)=sum; %把每一次各x(n)的和的总值赋给X ,然后开始对下一个w 的求和过程end %内层循环结束end%外层循环结束M=1024时的信号频谱图像如图1-1所示:图1-1 M=1024时的信号频谱图像2.分别对信号的频谱()jX eω在区间π[0,2]上等间隔抽样16点和32点,得到32()X k和16()X k。
数字信号处理实验报告
数字信号处理实验报告实验一:频谱分析与采样定理一、实验目的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、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;2、熟悉时域离散系统的时域特性;3、利用卷积方法观察分析系统的时域特性;4、掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号、离散信号及系统响应进行频域分析。
二、 实验原理及方法采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z 变换和序列傅立叶变换之间关系式的理解。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t x x aa其中)(^t x a 为)(t x a 的理想采样,p(t)为周期脉冲,即∑∞-∞=-=m nT t t p )()(δ)(^t x a的傅立叶变换为)]([1)(^s m a m j X T j a X Ω-Ω=Ω∑∞-∞= 上式表明^)(Ωj Xa为)(Ωj Xa的周期延拓。
其延拓周期为采样角频率(T /2π=Ω)。
只有满足采样定理时,才不会发生频率混叠失真。
在实验时可以用序列的傅立叶变换来计算^)(Ωj X a 。
公式如下:Tw jwae X j X Ω==Ω|)()(^离散信号和系统在时域均可用序列来表示。
为了在实验中观察分析各种序列的频域特性,通常对)(jw e X 在[0,2π]上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n),有:n jw N n jw k ke m x eX--=∑=)()(1其中,k Mk πω2=,k=0,1,……M-1 时域离散线性非移变系统的输入/输出关系为∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(上述卷积运算也可在频域实现)()()(ωωωj j j e H e X eY =三、 实验程序s=yesinput(Please Select The Step Of Experiment:\n 一.(1时域采样序列分析 s=str2num(s); close all;Xb=impseq(0,0,1); Ha=stepseq(1,1,10);Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.2*impseq(2,0,3)+impseq(3,0,3); i=0;while(s);%时域采样序列分析 if(s==1)k=0;while(1)if(k==0)A=yesinput('please input the Amplitude:\n',...444.128,[100,1000]); a=yesinput('please input the Attenuation Coefficient:\n',...222.144,[100,600]);w=yesinput('please input the Angle Frequence(rad/s):\n',...222.144,[100,600]);endk=k+1;fs=yesinput('please input the sample frequence:\n',...1000,[100,1200]);Xa=FF(A,a,w,fs);i=i+1;string+['fs=',num2str(fs)];figure(i)DFT(Xa,50,string);1=yesinput1=str2num(1);end%系统和响应分析else if(s==2)kk=str2num(kk);while(kk)if(kk==1)m=conv(Xb,Hb);N=5;i=i+1;figure(i)string=('hb(n)');Hs=DFT(Hb,4,string);i=i+1;figure(i)string('xb(n)');DFT(Xb,2,string);string=('y(n)=xb(n)*hb(n)');else if (kk==2)m=conv(Ha,Ha);N=19;string=('y(n)=ha(n)*(ha(n)');else if (kk==3)Xc=stepseq(1,1,5);m=conv(Xc,Ha);string=('y(n)=xc(n)*ha(n)');endendendi=i+1;figure(i)DFT(m,N,string);kk=yesinputkk=str2num(kk);end卷积定理的验证else if(s==3)A=1;a=0.5;w=2,0734;fs=1;Xal=FF(A,a,w,fs);i=i+1;figure(i)string=('The xal(n)(A=1,a=0.4,T=1)'); [Xa,w]DFT(Xal,50,string);i=i+1;figure(i)string =('hb(n)');Hs=DFT(Hb,4,string);Ys=Xs.*Hs;y=conv(Xal,Hb);N=53;i=i+1;figure(i)string=('y(n)=xa(n)*hb(n)');[yy,w]=DFT(y,N,string);i=i+1;figure(i)subplot(2,2,1)plot(w/pi,abs(yy));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title(FT[x(n)*h(n)]');subplot(2,2,3)plot(w/pi,abs(Ys));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title('FT[xs(n)].FT[h(n)]'); end end end子函数:离散傅立叶变换及X(n),FT[x(n)]的绘图函数 function[c,l]=DFT(x,N,str) n=0:N-1; k=-200:200; w=(pi/100)*k; l=w; c=x*Xc=stepseq(1,1,5); 子函数:产生信号function c=FF(A,a,w,fs) n=o:50-1;c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49); 子函数:产生脉冲信号function [x,n]=impseq(n0,n1,n2) n=[n1:n2];x=[(n-n0)==0];子函数:产生矩形框信号function [x,n]=stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0>=0)];四、 实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。
数字信号处理实验报告一二
数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的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. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
数字信号处理实验报告完整版[5篇模版]
数字信号处理实验报告完整版[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中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
数字信号处理实验报告
数字信号处理实验报告实验一:混叠现象的时域与频域表现实验原理:当采样频率Fs不满足采样定理,会在0.5Fs附近引起频谱混叠,造成频谱分析误差。
实验过程:考虑频率分别为3Hz,7Hz,13Hz 的三个余弦信号,即:g1(t)=cos(6πt), g2(t)=cos(14πt), g3(t)=cos(26πt),当采样频率为10Hz 时,即采样间隔为0.1秒,则产生的序列分别为:g1[n]=cos(0.6πn), g2[n]=cos(1.4πn), g3[n]=cos(2.6πn)对g2[n],g3[n] 稍加变换可得:g2[n]=cos(1.4πn)=cos((2π-0.6π)n)= cos(0.6πn)g3[n]=cos(2.6πn)= cos((2π+0.6π)n)=cos(0.6πn)利用Matlab进行编程:n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);plot(t,g1,t,g2,t,g3);k=1:100;s=k*0.1;q1=cos(6*pi*s);q2=cos(14*pi*s);q3=cos(26*pi*s);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(2,2,1);plot(k/10,abs(fft(q1)))subplot(2,2,2);plot(k/10,abs(fft(q2)))subplot(2,2,3);plot(k/10,abs(fft(q3)))通过Matlab软件的图像如图所示:如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
程序编程改动如下:k=1:300;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);subplot(2,2,1);plot(k/10,abs(fft(q)))subplot(2,2,2);plot(k/10,abs(fft(q1)))subplot(2,2,3);plot(k/10,abs(fft(q2)))得图像:问题讨论:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。
史上最全数字信号处理实验报告完美版
实验一、零极点分布对系统频率响应的影响Y(n)=x(n)+ay(n-1)1、调用MATLAB函数freqz计算并绘制的幅频特性和相频特性其中:1 代表a=0.7;2代表a=0.8;3代表a=0.9a=0.7时的零极点图A=0.8时的零极点图a=0.9时的零极点图观察零极点的分布与相应曲线易知:小结:系统极点z=a,零点z=0,当B点从w=0逆时针旋转时,在w=0点,由于极点向量长度最短,形成波峰,并且当a越大,极点越接近单位圆,峰值愈高愈尖锐;在w=pi点形成波谷;z=0处零点不影响幅频响应2、先求出系统传函的封闭表达式,通过直接计算法得出的幅频特性和相频特性曲线。
其中:1代表a=0.7;2代表a=0.8;3代表a=0.9附录程序如下:(对程序进行部分注释)>> a=0.7;w=0:0.01:2*pi;%设定w的范围由0到2π,间隔为0.01y=1./(1-a*exp(-j*w)); %生成函数subplot(211);plot(w/2/pi,10*log(abs(y)),'g');%生成图像其中通过调用abs函数计算幅值hold on;xlabel('Frequency(Hz)');%定义横坐标名称ylabel('magnitude(dB)');%定义纵坐标名称title('a=0.8,直接计算h(ejw)');grid on;%定义图片标题subplot(212);plot(w/2/pi,unwrap(angle(y)),'g');grid on;%生成图像其中通过调用angle计算相角,‘g’为规定线条颜色hold on;>> a=0.8;w=0:0.01:2*pi;y=1./(1-a*exp(-j*w));subplot(211);plot(w/2/pi,10*log(abs(y)),'r');hold on;xlabel('Frequency(Hz)');ylabel('magnitude(dB)');title('a=0.8,直接计算h(ejw)');grid on;subplot(212);plot(w/2/pi,unwrap(angle(y)),'r');grid on;hold on;>> a=0.9;w=0:0.01:2*pi;y=1./(1-a*exp(-j*w));subplot(211);plot(w/2/pi,10*log(abs(y)),'b');hold on;xlabel('Frequency(Hz)');ylabel('magnitude(dB)');title('a=0.9,直接计算h(ejw)');grid on;subplot(212);plot(w/2/pi,unwrap(angle(y)),'b');grid on;hold on;2、y(n)=x(n)=ax(n-1)通过调用freqz函数绘图,其中:1代表a=0.7,;2代表a=0.8;3代表a=0.9附录程序如下:(因为程序同实验一相同不再进行注释)a=0.7;A=1;B=[1,a];freqz(B,A,256,'whole',1);title('a=0.7');hold on;a=0.8;A=1;B=[1,a];freqz(B,A,256,'whole',1);title('a=0.8');hold on;a=0.9;A=1;B=[1,a];freqz(B,A,256,'whole',1);title('a=0.9');以下为a为不同数值时的零极点图a=0.7A=0.8A=0.9小结:系统极点z=0,零点z=a,当B点从w=0逆时针旋转时,在w=0点,由于零点向量长度最长,形成波峰:在w=pi点形成波谷;z=a处极点不影响相频响应。
数字信号处理实验三报告 数字信号处理上机实验报告.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)的输出响应,波形。
硕士信号处理实验报告(3篇)
第1篇一、实验背景随着信息技术的飞速发展,数字信号处理(DSP)技术已成为通信、图像处理、语音识别等领域的重要工具。
本实验旨在通过一系列实验,加深对数字信号处理基本原理和方法的理解,提高实际应用能力。
二、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握常用信号处理算法的MATLAB实现。
3. 培养分析和解决实际问题的能力。
三、实验内容本实验共分为五个部分,具体如下:1. 离散时间信号的基本操作(1)实验目的:熟悉离散时间信号的基本操作,如加法、减法、乘法、除法、延时、翻转等。
(2)实验步骤:- 使用MATLAB生成两个离散时间信号。
- 对信号进行基本操作,如加法、减法、乘法、除法、延时、翻转等。
- 观察并分析操作结果。
2. 离散时间系统的时域分析(1)实验目的:掌握离散时间系统的时域分析方法,如单位脉冲响应、零状态响应、零输入响应等。
(2)实验步骤:- 使用MATLAB设计一个离散时间系统。
- 计算系统的单位脉冲响应、零状态响应和零输入响应。
- 分析系统特性。
(1)实验目的:掌握离散时间信号的频域分析方法,如快速傅里叶变换(FFT)、离散傅里叶变换(DFT)等。
(2)实验步骤:- 使用MATLAB生成一个离散时间信号。
- 对信号进行FFT和DFT变换。
- 分析信号频谱。
4. 数字滤波器的设计与实现(1)实验目的:掌握数字滤波器的设计与实现方法,如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等。
(2)实验步骤:- 使用MATLAB设计一个低通滤波器。
- 使用窗函数法实现滤波器。
- 对滤波器进行性能分析。
5. 信号处理在实际应用中的案例分析(1)实验目的:了解信号处理在实际应用中的案例分析,如语音信号处理、图像处理等。
(2)实验步骤:- 选择一个信号处理应用案例。
- 分析案例中使用的信号处理方法。
- 总结案例中的经验和教训。
四、实验结果与分析1. 离散时间信号的基本操作实验结果表明,离散时间信号的基本操作简单易懂,通过MATLAB可以实现各种操作,方便快捷。
数字信号处理实验报告 (3)
数字信号处理实验报告13050Z011305024237数字信号处理实验报告实验一 采样定理(2学时) 内容:给定信号为()exp()cos(100**)x t at at π=-,其中a 为学号, (1)确定信号的过采样和欠采样频率(2)在上述采样频率的条件下,观察、分析、记录频谱,说明产生上述现象的原因。
基本要求:验证采样定理,观察过采样和欠采样后信号的频谱变化。
a=37; %1305024237 fs=10000; %抽样频率 t=0:1/fs:0.05;x1=exp(-a*t).*cos(100*pi*a*t);N=length(x1); %信号时域横轴向量 k=(0:N-1); %信号频域横轴向量 Y1=fft(x1); Y1=fftshift(Y1); subplot(2,1,1); plot(t,x1);hold on ; stem(t,x1,'o'); subplot(2,1,1); plot(k,abs(Y1)); gtext('1305024237');051015201305024237 刘德文a=37; %1305024237 fs=800; %抽样频率 t=0:1/fs:0.05;x1=exp(-a*t).*cos(100*pi*a*t);N=length(x1); %信号时域横轴向量 k=floor(-(N-1)/2:(N-1)/2); %信号频域横轴向量 Y1=fft(x1); Y1=fftshift(Y1); subplot(2,1,1); plot(t,x1);hold on ; stem(t,x1,'o'); subplot(2,1,2); plot(k,abs(Y1)); title('1305024237 ');0.0050.010.0150.020.0250.030.0350.040.0450.05-20-15-10-50510152005101305024237 刘德文实验二 信号谱分析(2学时) 内容: 给定信号为:(1)()cos(100**)x t at π= (2)()exp()x t at =-(3)()exp()cos(100**)x t at at π=-其中a 为实验者的学号,记录上述各信号的频谱,表明采样条件,分析比较上述信号频谱的区别。
数字信号处理实验报告(自己的实验报告)
数字信号处理实验报告西南交通大学信息科学与技术学院姓名:伍先春学号: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);plot(q,abs(y))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
数字信号处理实验报告姓名:班级:09电信一班学号:2)]得下图二,图二图一3.将如下文件另存为:sigadd.m文件function [y,n] = sigadd(x1,n1,x2,n2)% 实现y(n) = x1(n)+x2(n)% -----------------------------% [y,n] = sigadd(x1,n1,x2,n2)% y = 在包含n1 和n2 的n点上求序列和,% x1 = 在n1上的第一序列% x2 = 在n2上的第二序列(n2可与n1不等)n = min(min(n1),min(n2)):max(max(n1),max(n2)); % y(n)的长度y1 = zeros(1,length(n)); y2 = y1; % 初始化y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % 具有y的长度的x1y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % 具有y的长度的x2y = y1+y2;在命令窗口输入:x1=[1,0.5,0.3,0.4];n1=-1:2;x2=[0.2,0.3,0.4,0.5,0.8,1];n2=-2:3; [y,n] = sigadd(x1,n1,x2,n2)得:y =n=-1:10;x=sin(0.4*pi*n);y=fliplr(x);n1=-fliplr(n);subplot(2,1,1),stem(n,x) subplot(2,1,2),stem(n1,y在命令窗口键入:n=-1:10; x=sin(0.4*pi*n);n (samples)实验结果:1.(1)在命令窗口输入:tic; [am,pha]=dft1(x)N=length(x);w=exp(-j*2*pi/N);for k=1:Nsum=0;for n=1:Nsum=sum+x(n)*w^((k-1)*(n-1));endam(k)=abs(sum);pha(k)=angle(sum);end;toc得到如下结果:am =Columns 1 through 11120.0000 41.0066 20.9050 14.3996 11.3137 9.6215 8.6591 8.1567 8.0000 8.1567 8.6591Columns 12 through 169.6215 11.3137 14.3996 20.9050 41.0066pha =Columns 1 through 110 1.7671 1.9635 2.1598 2.3562 2.5525 2.7489 2.9452 3.1416 -2.9452 -2.7489Columns 12 through 16-2.5525 -2.3562 -2.1598 -1.9635 -1.7671Elapsed time is 0.047000 seconds.(2)在命令窗口输入:tic;[am,pha]=dft2(x)N=length(x);n=[0:N-1];k=[0:N-1];w=exp(-j*2*pi/N);nk=n’*k;wnk=w.^(nk); Xk=x*wnk; am= abs(Xk); pha=angle(Xk); toc得到下图:figure(1)00.10.20.30.40.50.60.70.80.91signal x(n), 0 <= n <= 99(2)在命令窗口键入:n3=[0:1:99];y3=[x(1:1:10) zeros(1,90)]; %添90个零。
数字信号处理实验报告
实验一 基于LMS 算法的自适应滤波器设计一、自适应算法的概括包括最小均方算法LMS 、最小高阶均方算法LMP 、最小平方算法OLS 、递推最小算法RLS 。
自适应算法主要根据滤波器输入的统计特性进行处理,存在开环算法和闭环算法;开环算法的控制输出仅取决于滤波器的输入和其他输入数据;闭环的控制输出则是滤波器输出及其他输入信号的函数。
闭环控制利用输出反馈,不但能在滤波器输入信号变化时保持最佳输出,而且在某种程度上补偿滤波元件参数的变化和误差以及运算误差。
二、自适应滤波器的结构自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成。
如图1.1所示为自适应滤波器的一般结构。
输入信号)(n x 通过参数可调数字滤波器后产生输出信号(或响应))(n y ,将其与参考信号(或期望响应))(n d 进行比较,形成误差信号)(n e ,)(n e 通过某种自适应算法对滤波器参数进行调整,最终使)(n e 得均方值最小。
所以,自适应滤波器实际上是一种能够自动调整本身参数的特殊的Wiener 模型。
)(n d 自适应滤波器算法滤波器结构)(n x )(n e )(n y +-图1.1 自适应滤波器的一般结构上面的自适应滤波器设计不需要知道关于输入信号和噪声的统计特性,能够在工作过程中估计出所需的统计特性,并以此为依据自动调整自己的参数,以达到最佳的滤波效果。
一旦输入信号统计特性发生变化,其又能跟踪这种变化,自动调整参数,从而使滤波器性能达到最佳效果。
三、滤波器采用的结构采用FIR 横向滤波器(由于IIR 滤波器存在稳定性问题)作为自适应滤波器结构,如图1.2所示。
)(n x )(0n w )(1n w )(2n w )(1n w N -1-Z 1-Z ....1-Z )1(+-N n x ∑)(n y图1.2 FIR 横向滤波器结构图中所示自适应滤波器的输入矢量:T N n x n x n x n X )]1(),...,1(),([)(+--= , 权重系数矢量:T N n w n w n w n W )](),...,(),([)(110-=,即自适应滤波器的冲击响应。
数字信号处理课程实验报告
数字信号处理课程实验报告课题名称:IIR滤波器相位校正实验一、实验内容与分析1、实验目的和内容1)利用MATLAB设计一个IIR滤波器;2)结合课本关于全通滤波器特性知识(课本p128),在IIR滤波器后级联一个全通相位滤波器进行相位校正,使此滤波器最终实现线性相位特性;3)分别使用相位校正前后两滤波器实现对某一信号的处理;4)画出IIR滤波器、全通滤波器、相位校正后滤波器的幅度频率特性曲线、相位频率特性曲线,信号时域波形、信号的幅度频率特性曲线、相位频率特性曲线;5)详述实验设计原理,分析相位校正前后两类滤波器对信号处理后的区别。
2、实验的分析1)、IIR滤波器的设计通过对实验内容的理解,我们首先需要设计一个IIR滤波器,对课本第六章的学习我们知道IIR数字滤波器有两种设计方法:间接设计法和直接设计法。
间接设计法中有巴特沃斯滤波器,切比雪夫I型、II型滤波器,椭圆滤波器和贝塞尔滤波器五种。
我们选择设计切比雪夫II型低通滤波器,其中的技术指标为:通带边界频率fp=1000Hz,阻带边界频率fs=2000 Hz,阻带最小衰减As=40 dB,通带最大衰减Ap=1 dB。
2)全通滤波器的设计全通滤波器的幅度特性是在整个频带上均等于常数,或者等于1.信号通过全通滤波器后,其输出的幅度特性保持不变,仅相位发生变化。
由于IIR滤波器后需要级联一个全通相位滤波器,使整个系统实现线性相位特性,为了求解全通滤波器的参数,我们先假设整个系统具有线性相位特性,再根据已经设计好了的切比雪夫II 型滤波器的系统参数,求解全通滤波器的参数。
二、实验的过程1、切比雪夫II型滤波器的设计过程在确定了滤波器的参数之后,我们运用cheb2ord函数计算模拟低通滤波器的最小阶数;然后用cheby2计算滤波器传输函数的系数。
然后运用脉冲响应不变法将模拟低通滤波器转换成数字滤波器。
这样我们就设计出了满足给定参数的切比雪夫II型滤波器。
数字信号处理实验报告
《数字信号处理》实验报告实验一: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)));实验三:无限冲击响应数字滤波器设计设计一个数字带通滤波器,参数自定。
数字信号处理实验报告(全)
实验一、离散时间系统及离散卷积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);结果:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一混叠现象的时域与频域表现
一、实验目的
用不同的频率的抽样对某一周期信号进行采集,考察是否发生频谱混叠,用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');
figure
subplot(2,2,1);plot(k/10,abs(fft(q1))) subplot(2,2,2);plot(k/10,abs(fft(q2))) subplot(2,2,3);plot(k/10,abs(fft(q3))) matlab仿真结果:
时域图:
频域图:
如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
程序如下:
k=1:300;
q=cos(6*pi*k/30);
q1=cos(14*pi*k/30);
q2=cos(26*pi*k/30);
subplot(2,2,1);plot(k/10,abs(fft(q)))
subplot(2,2,2);plot(k/10,abs(fft(q1)))
subplot(2,2,3);plot(k/10,abs(fft(q2)))
仿真结果:
保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。
程序如下:
k=1:300;
q=cos(6*pi*k/30);
q1=cos(14*pi*k/30);
q2=cos(34*pi*k/30);
subplot(2,2,1);plot(k/10,abs(fft(q)))
subplot(2,2,2);plot(k/10,abs(fft(q1)))
subplot(2,2,3);plot(k/10,abs(fft(q2)))
仿真结果:k=1:300;
三:实验结果分析:
信号的最高频率为13hz。
当采样频率为10hz时,我们从仿真的时域图和频域图中可以很明显的看出,时域发生了频谱混叠现象,而频域中三个信号的频域在一起,发生了频域混叠。
当采样频率由10hz改为30hz时,三个频谱分开了,不处于同一处,并没有发生频谱混叠。
而将信号的最高频率由13hz改为17hz时,有频谱图看出,又一次发生了频谱混叠现象。
可见只有满足奈奎斯特抽样定理的抽样才不会发生频谱混叠现象,既抽样信号的频率至少为信号最高频率的两倍,第一个实验和第三个实验由于都不满足奈奎斯特采样定理,发生了混叠现象,而第二个实验满足了奈奎斯特采样定理,所以并没有发生频谱混叠现象。
实验二泄露效应
一、实验目的:
首先对对采样信号进行N点的dft(fft),写出matlab程序,仿真并观察实验现象,分析并得出结论。
由于泄漏效应的复杂性,下面的实验演示单一频率正弦信号由于截断引起的泄漏。
首先考察频率为10Hz的正弦信号,采样频率为64Hz,对32点的采样序列进行DFT(FFT),由于是整周期截取,所以不会产生泄漏,程序和运行结果如下(图9-34):
N=input('type in the length of dft=');%采样点数
t=input('type in the sampling period=');%采样时间间隔
freq=input('type in the sinusoid frequency =');%信号频率
k=0:N-1;
f=sin(2*pi*freq*k*(t));
F=fft(f);
stem(k,abs(F));grid;
xlabel('k');ylabel('|x(k)|');
在type in the length of dft=输入32
在type in the sampling period=输入0.015625
在type in the sinusoid frequency =输入10
得出如下仿真结果:
如果采样频率仍为64Hz,采样点数仍为32点,将信号频率改为11Hz,由于非整周期截取,发生了明显的泄漏:
N=input('type in the length of dft=');%采样点数
t=input('type in the sampling period=');%采样时间间隔
freq=input('type in the sinusoid frequency =');%信号频率
k=0:N-1;
f=sin(2*pi*freq*k*(t));
F=fft(f);
stem(k,abs(F));grid;
xlabel('k');ylabel('|x(k)|');
在type in the length of dft=输入32
在type in the sampling period=输入0.015625
在type in the sinusoid frequency =输入11
得出如下仿真结果:
问题与实践:如何选取采样点数、采样频率,才能保证频率为11Hz 的正弦信号不会发生泄漏现象?选取采样点数为30,采样频率为66Hz,运行程序看一看是否有泄漏发生。
N=input('type in the length of dft=');%采样点数
t=input('type in the sampling period=');%采样时间间隔
freq=input('type in the sinusoid frequency =');%信号频率
k=0:N-1;
f=sin(2*pi*freq*k*(t));
F=fft(f);
stem(k,abs(F));grid;
xlabel('k');ylabel('|x(k)|');
在type in the length of dft=输入30
在type in the sampling period=输入1/66
在type in the sinusoid frequency =输入11
得出如下仿真结果:
三、实验分析与总结
很明显的可以看出,第一个和第三个实验除了某两个频率有值之外,其他的频率并不存在,而第二个实验出现了频率泄露的现象。
可见只有在采样间隔是信号周期的整数倍时,对采样后的信号进行N点fft(dft)后才不会发生频谱,混叠现象。
当采样价格不是信号周期的整数倍是,采样到的信号就有可能不在频率点上,由此发生了频谱泄露现象。
心得体会
通过这次试验,我加深了对频谱混叠现象、频谱泄露现象、FFT的参数选取、量化效应的理解,并且学会了如何使用matlab仿真,让我感到受益匪浅,激发了我对这门课程的兴趣。
尽管这门课程已经结束,但我将由这门课程而终身受益。