杭电数字信号处理实验6
数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的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. 信号采集与预处理:通过摹拟信号采集电路将摹拟信号转换为数字信号,然后进行预处理,如滤波、降噪等。
2. 数字滤波器设计:设计和实现数字滤波器,包括FIR滤波器和IIR滤波器,可以对信号进行滤波处理,提取感兴趣的频率成份。
3. 时域和频域分析:对采集到的信号进行时域和频域分析,如时域波形显示、功率谱密度估计等,可以了解信号的时域和频域特性。
4. 信号重构与恢复:通过信号重构算法对采集到的信号进行恢复,如插值、外推等,可以还原信号的原始特征。
三、实验内容根据实验原理,本实验的具体内容包括以下几个部份:1. 信号采集与预处理a. 使用摹拟信号采集电路将摹拟信号转换为数字信号,并通过示波器显示采集到的信号波形。
b. 对采集到的信号进行预处理,如去除噪声、滤波等,确保信号质量。
2. 数字滤波器设计a. 设计并实现FIR滤波器,选择合适的滤波器类型和参数,对采集到的信号进行滤波处理。
b. 设计并实现IIR滤波器,选择合适的滤波器类型和参数,对采集到的信号进行滤波处理。
3. 时域和频域分析a. 对采集到的信号进行时域分析,绘制信号的时域波形图,并计算信号的均值、方差等统计指标。
b. 对采集到的信号进行频域分析,绘制信号的功率谱密度图,并计算信号的频域特性。
4. 信号重构与恢复a. 使用插值算法对采集到的信号进行重构,恢复信号的原始特征。
b. 使用外推算法对采集到的信号进行恢复,还原信号的原始特征。
四、实验步骤1. 搭建信号采集电路,将摹拟信号转换为数字信号,并通过示波器显示采集到的信号波形。
2. 对采集到的信号进行预处理,如去除噪声、滤波等,确保信号质量。
数字信号处理实验六报告

实验六 频域抽样定理和音频信号的处理实验报告 (一)频域抽样定理给定信号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、利用卷积方法观察分析系统的时域特性;4、掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号、离散信号及系统响应进行频域分析。
二、 实验原理及方法采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z 变换和序列傅立叶变换之间关系式的理解。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t xx 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 jw ae 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) l=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]); end k=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=yesinput 1=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);N=14;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)]');endendend子函数:离散傅立叶变换及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、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。
数字信号处理实验报告全.doc

数字信号处理实验报告全实验一、离散时间系统及离散卷积1、单位脉冲响应源程序function pr1 定义函数pr1 a[1,-1,0.9]; 定义差分方程yn-yn-10.9yn-2xn b1; ximpseq0,-40,140; 调用impseq函数n-40140; 定义n从-40 到140 hfilterb,a,x; 调用函数给纵座标赋值figure1 绘图figure 1 冲激响应stemn,h; 在图中绘出冲激title 冲激响应; 定义标题为冲激响应xlabel n ; 绘图横座标为n ylabel hn ; 绘图纵座标为hn figure2 绘图figure 2 [z,p,g]tf2zpb,a; 绘出零极点图zplanez,p function [x,n]impseqn0,n1,n2声明impseq函数n[n1n2]; x[n-n00]; 结果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]; m0lengthb-1; m从0 到 3 l0lengtha-1; l从0 到3 K5000; k1K; wpi*k/K; 角频率w Hb*exp-j*m *w./a*exp-j*l *w;对系统函数的定义magHabsH; magH为幅度angHangleH; angH为相位figure1 subplot2,1,1; 在同一窗口的上半部分绘图plotw/pi,magH; 绘制wpi-magH 的图形grid; axis[0,1,0,1]; 限制横纵座标从0到1 xlabel wpi ; x座标为wpi ylabel |H| ; y座标为angleH title 幅度,相位响应; 图的标题为幅度,相位响应subplot2,1,2; 在同一窗口的下半部分绘图plotw/pi,angH; 绘制wpi-angH的图形grid;为座标添加名称xlabel wpi ; x座标为wpi ylabel angleH ; y 座标为angleH 结果3、卷积计算源程序function pr3 n-550; 声明n从-5到50 u1stepseq0,-5,50; 调用stepseq函数声用明u1un u2stepseq10,-5,50; 调用stepseq函数声用明u2un-10 输入xn和冲激响应hn xu1-u2; xnun-un-10 h0.9.n.*u1; hn0.9n*un figure1 subplot3,1,1; 绘制第一个子图stemn,x; 绘制图中的冲激axis[-5,50,0,2]; 限定横纵座标的范围title 输入序列; 规定标题为输入序列xlabel n ; 横轴为n ylabel xn ; 纵轴为xn subplot3,1,2; 绘制第二个子图stemn,h; 绘制图中的冲激axis[-5,50,0,2]; 限定横纵座标的范围title 冲激响应序列; 规定标题为冲激响应序列xlabel n ; 横轴为n ylabel hn ; 纵轴为hn 输出响应[y,ny]conv_mx,n,h,n; 调用conv_m函数subplot3,1,3; 绘制第三个子图stemny,y; axis[-5,50,0,8]; title 输出响应; 规定标题为输出响应xlabel n ; ylabel yn ; 纵轴为yn stepseq.m子程序实现当nn0时xn的值为1 function [x,n]stepseqn0,n1,n2 nn1n2; x[n-n00]; con_m的子程序实现卷积的计算function [y,ny]conv_mx,nx,h,nh nybnx1nh1; nyenxlengthxnhlengthh; ny[nybnye]; yconvx,h; 结果实验二、离散傅立叶变换与快速傅立叶变换1、离散傅立叶变换(DFT)源程序function pr4 F50; N64; T0.000625; n1N; xcos2*pi*F*n*T; xncospi*n/16 subplot2,1,1; 绘制第一个子图xn stemn,x; 绘制冲激title xn ; 标题为xn xlabel n ; 横座标为n Xdftx,N; 调用dft函数计算xn的傅里叶变换magXabsX; 取变换的幅值subplot2,1,2; 绘制第二个子图DFT|X| stemn,X; title DFT|X| ; xlabel fpi ; 横座标为fpi dft的子程序实现离散傅里叶变换function [Xk]dftxn,N n0N-1; k0N-1; WNexp-j*2*pi/N; nkn *k; WNnkWN.nk; Xkxn*WNnk; 结果F50,N64,T0.000625时的波形F50,N32,T0.000625时的波形2、快速傅立叶变换(FFT)源程序function pr5 F50;N64;T0.000625; n1N; xcos2*pi*F*n*T; xncospi*n/16 subplot2,1,1;plotn,x; title xn ;xlabel n ; 在第一个子窗中绘图xn Xfftx;magXabsX; subplot2,1,2;plotn,X; title DTFT|X| ;xlabel fpi ; 在第二个子图中绘图xn的快速傅里叶变换结果3、卷积的快速算法源程序function pr6 n015; x1.n; h4/5.n; x16320; h16320; 到此xn1, n015; xn0,n1632 hn4/5n, n015; hn0,n1632 subplot3,1,1; stemx; title xn ; axis[1,32,0,1.5]; 在第一个子窗绘图xn横轴从1到32,纵轴从0到1.5 subplot3,1,2; stemh; title hn ; axis[1,32,0,1.5]; 在第二个子窗绘图hn横轴从1到32,纵轴从0到1.5 Xfftx; Xn为xn的快速傅里叶变换Hffth; Hn为hn的快速傅里叶变换YX.*H; YnXn*Hn Yconvx,h; yifftY; yn为Yn的傅里叶反变换subplot3,1,3 在第三个子窗绘图yn横轴从1到32,纵轴从0到6 stemabsy; title ynxn*hn ; axis[1,32,0,6]; 结果实验三、IIR数字滤波器设计源程序function pr7 wp0.2*pi;ws0.3*pi; Rp1; As15; T1; Fs1/T; OmegaP2/T*tanwp/2; OmegaPw2*tan0.1*pi OmegaS2/T*tanws/2; OmegaSw2*tan0.15*pi epsqrt10Rp/10-1; Ripplesqrt1/1ep.2; Attn1/10As/20;Nceillog1010Rp/10-1/10As/10-1/2*log10OmegaP/OmegaS; OmegaCOmegaP/10.Rp/10-1.1/2*N; [cs,ds]u_buttapN,OmegaC; [b,a]bilinearcs,ds,Fs; [mag,db,pha,w]freqz_mb,a; subplot3,1,1; 在第一个子窗绘制幅度响应的图形plotw/pi,mag; title 幅度响应; xlabel wpi ; ylabel H ; axis[0,1,0,1.1]; setgca, XTickmode , manual , XTick ,[0,0.2,0.35,1.1]; setgca, YTickmode , manual , YTick ,[0,Attn,Ripple,1]; grid; subplot3,1,2; 在第二个子窗以分贝为单位绘制幅度响应的图形plotw/pi,db; title 幅度响应dB ; xlabel wpi ; ylabel H ; axis[0,1,-40,5]; setgca, XTickmode , manual , XTick ,[0,0.2,0.35,1.1]; setgca, YTickmode , manual , YTick ,[-50,-15,-1,0]; grid; subplot3,1,3; 在第三个子窗绘制相位响应的图形plotw/pi,pha; title 相位响应; xlabel wpi ; ylabel pi unit ; axis[0,1,0,1.1]; setgca, XTickmode , manual , XTick ,[0,0.2,0.35,1.1]; setgca, YTickmode , manual , YTick ,[-1,0,1]; grid; function [b,a]u_buttapN,OmegaC [z,p,k]buttapN; pp*OmegaC; kk*OmegaC.N; Brealpolyz; b0k; bk*B; arealpolyp; function [mag,db,pha,w]freqz_mb,a[H,w]freqzb,a,1000, whole ; HH1501 ; ww1501 ; magabsH; db20*log10mageps/maxmag; phaangleH; 结果实验四、FIR数字滤波器的设计源程序function pr8 wp0.2*pi; ws0.3*pi; tr_widthws-wp; Mceil6.6*pi/tr_width1; n0M-1; wcwswp/2; alphaM-1/2; mn-alphaeps; hdsinwc*m./pi*m; w_hamhammingM ; hhd.*w_ham; [mag,db,pha,w]freqz_mh,[1]; delta_w2*pi/1000; Rp-mindb1wp/delta_w1; As-roundmaxdbws/delta_w1501; subplot2,2,1; stemn,hd; title 理想冲激响应; axis[0,M-1,-0.1,0.3]; ylabel hdn ; subplot2,2,2; stemn,h; title 实际冲激响应; axis[0,M-1,-0.1,0.3]; ylabel hn ; subplot2,2,3; plotw/pi,pha; title 滤波器相位响应; axis[0,1,-pi,pi]; ylabel pha ; setgca, XTickmode , manual , XTick ,[0,0.2,0.3,1.1]; setgca, YTickmode , manual , YTick ,[-pi,0,pi]; grid; subplot2,2,4; plotw/pi,db; title 滤波器幅度响应; axis[0,1,-100,10]; ylabel Hdb ; setgca, XTickmode , manual , XTick ,[0,0.2,0.3,1.1]; setgca, YTickmode , manual , YTick ,[-50,-15,0]; function [mag,db,pha,w]freqz_mb,a [H,w]freqzb,a,1000, whole ; HH1501 ; ww1501 ; magabsH; db20*log10mageps/maxmag; phaangleH; 结果。
数字信号处理实验报告

数字信号处理实验报告引言数字信号处理(Digital Signal Processing,DSP)是一门研究数字信号的获取、分析、处理和控制的学科。
在现代科技发展中,数字信号处理在通信、图像处理、音频处理等领域起着重要的作用。
本次实验旨在通过实际操作,深入了解数字信号处理的基本原理和实践技巧。
实验一:离散时间信号的生成与显示在实验开始之前,我们首先需要了解信号的生成与显示方法。
通过数字信号处理器(Digital Signal Processor,DSP)可以轻松生成和显示各种类型的离散时间信号。
实验设置如下:1. 设置采样频率为8kHz。
2. 生成一个正弦信号:频率为1kHz,振幅为1。
3. 生成一个方波信号:频率为1kHz,振幅为1。
4. 将生成的信号通过DAC(Digital-to-Analog Converter)输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的正弦信号和方波信号的图片)实验分析:通过示波器的显示结果可以看出,正弦信号在时域上呈现周期性的波形,而方波信号则具有稳定的上下跳变。
这体现了正弦信号和方波信号在时域上的不同特征。
实验二:信号的采样和重构在数字信号处理中,信号的采样是将连续时间信号转化为离散时间信号的过程,信号的重构则是将离散时间信号还原为连续时间信号的过程。
在实际应用中,信号的采样和重构对信号处理的准确性至关重要。
实验设置如下:1. 生成一个正弦信号:频率为1kHz,振幅为1。
2. 设置采样频率为8kHz。
3. 对正弦信号进行采样,得到离散时间信号。
4. 对离散时间信号进行重构,得到连续时间信号。
5. 将重构的信号通过DAC输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的连续时间信号和重构信号的图片)实验分析:通过示波器的显示结果可以看出,重构的信号与原信号非常接近,并且能够还原出原信号的形状和特征。
这说明信号的采样和重构方法对于信号处理的准确性有着重要影响。
数字信号处理实验报告

一、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握离散时间信号的基本运算和变换方法。
3. 熟悉数字滤波器的设计和实现。
4. 培养实验操作能力和数据分析能力。
二、实验原理数字信号处理(Digital Signal Processing,DSP)是利用计算机对信号进行采样、量化、处理和分析的一种技术。
本实验主要涉及以下内容:1. 离散时间信号:离散时间信号是指时间上离散的信号,通常用序列表示。
2. 离散时间系统的时域分析:分析离散时间系统的时域特性,如稳定性、因果性、线性等。
3. 离散时间信号的变换:包括离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等。
4. 数字滤波器:设计、实现和分析数字滤波器,如低通、高通、带通、带阻滤波器等。
三、实验内容1. 离散时间信号的时域运算(1)实验目的:掌握离散时间信号的时域运算方法。
(2)实验步骤:a. 使用MATLAB生成两个离散时间信号;b. 进行时域运算,如加、减、乘、除等;c. 绘制运算结果的时域波形图。
2. 离散时间信号的变换(1)实验目的:掌握离散时间信号的变换方法。
(2)实验步骤:a. 使用MATLAB生成一个离散时间信号;b. 进行DTFT、DFT和FFT变换;c. 绘制变换结果的频域波形图。
3. 数字滤波器的设计和实现(1)实验目的:掌握数字滤波器的设计和实现方法。
(2)实验步骤:a. 设计一个低通滤波器,如巴特沃斯滤波器、切比雪夫滤波器等;b. 使用MATLAB实现滤波器;c. 使用MATLAB对滤波器进行时域和频域分析。
4. 数字滤波器的应用(1)实验目的:掌握数字滤波器的应用。
(2)实验步骤:a. 采集一段语音信号;b. 使用数字滤波器对语音信号进行降噪处理;c. 比较降噪前后的语音信号,分析滤波器的效果。
四、实验结果与分析1. 离散时间信号的时域运算实验结果显示,通过MATLAB可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。
杭电 数字信号处理实验报告(四)

数字信号处理实验报告(四)姓名:王修庆学号:11083105线性卷积与圆周卷积的计算一、实验目的(1) 通过编程、上机调试程序,进一步增强使用计算机解决问题的能力。
(2) 掌握线性卷积与圆周卷积的软件实现的方法,并验证两者之间的关系。
二、基本原理(1) 两个有限长序列的线性卷积序列1()x n 为L 点,2()x n 为P 点,则其线性卷积为31212()()()()()m x n x n x n x m x n m +∞=-∞=*=⋅-∑且线性卷积的长度为1L P +-。
(2) 圆周卷积设两个有限长序列1()x n 和2()x n ,均为N 点,其N 点的DFT 分别为1()X k 和2()X k ,如果312()()()X k X k X k =⋅,则13120()[()()]()N N m x n xm x n m R n -==-∑ 1120()(())N N m x m x n m -==-∑1()x n =○N 2()x n 01n N ≤≤-,○N 表示N 点圆周卷积 (3) 圆周卷积与线性卷积的关系圆周卷积是否等于线性卷积,完全取决于圆周卷积的长度。
当1N L P ≥+-时,圆周卷积等于线性卷积,即1()x n ○N 212()()()x n x n x n =* 当1N L P ≤+-时,圆周卷积为:1()x n ○N 23()()r x n x n rN +∞=-∞=+∑,01n N ≤≤-三、实验内容及要求已知两个有限长序列:()()2(1)3(2)4(3)5(4)x n n n n n n δδδδδ=+-+-+-+- ()()2(1)(2)2(3)h n n n n n δδδδ=+-+-+-(1) 实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积 1)()x n ⑤()h n 2)()x n ⑥()h n 3)()x n ⑨()h n 4)()x n ⑩()h n (2)编制一个计算两个序列线性卷积的通用程序,计算()()x n h n *。
数字信号处理实验报告

数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境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、信号的采样与重构当采样频率足够高时,重构的信号能够较好地恢复原始信号的形状;当采样频率低于奈奎斯特频率时,重构信号出现了失真和混叠现象。
杭电信号与系统实验信号的采集与恢复、抽样定理(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改赠人玫瑰,手留余香。
《信号、系统与信号处理实验I》实验报告实验名称:信号的采集与恢复、抽样定理姓名:学号:专业:通信工程实验时间:杭州电子科技大学通信工程学院一、实验目的1、了解信号的抽样方法与过程以及信号恢复的方法。
2、验证抽样定理。
二、实验内容1.抽样定理验证的 Matlab 实现1.1 正弦信号的采样(1)参考下面程序,得到 50Hz 正弦信号在采样时间间隔分别为 0.01s、0.002s 和 0.001 时的采样信号。
fs=1000;t=0:1/fs:0.2;f0=50;x=cos(2*pi*f0*t);subplot(2,2,1);plot(t,x);n1=0:0.01:0.2;x1=cos(2*pi*f0*n1);subplot(2,2,2);stem(n1,x1);n2=0:0.005:0.2;x2=cos(2*pi*f0*n2);subplot(2,2,3);stem(n2,x2);n3=0:0.001:0.2;x3=cos(2*pi*f0*n3);subplot(2,2,4);stem(n3,x3,'.');(2)在(1)基础上恢复正弦信号,比较那个采样间隔能较好的恢复原正弦信号。
改变几个不同的采样间隔,比较恢复信号。
1.2 思考题设计一模拟信号x(t)=3sin(2π⋅f⋅t),采样频率fs=5120Hz,取信号频率分别为f=150Hz(正常采样)和f=3000Hz(欠采样)两种情况进行采样分析,指出哪种发生了混叠现象。
三、实验过程及实验结果1(2)fs=1000;t=0:1/fs:0.1;f0=50;x=cos(2*pi*f0*t); subplot(1,1,1);plot(t,x);n1=0:0.01:0.1;x1=cos(2*pi*f0*n1); subplot(1,1,1);plot(n1,x1);n2=0:0.005:0.1;x2=cos(2*pi*f0*n2); subplot(1,1,1);plot(n2,x2);n3=0:0.0001:0.1;x3=cos(2*pi*f0*n3); subplot(1,1,1);plot(n3,x3,'.');运行结果:1.2fs=5120;t=0:1/fs:0.04;f0=150;f1=3000;x=3*sin(2*pi*f0*t); F=fft(x);subplot(6,1,1);plot(t,x);subplot(6,1,2); stem(t,x);subplot(6,1,3);plot(abs(F));x1=3*sin(2*pi*f1*t); F1=fft(x1);subplot(6,1,4);plot(t,x1);subplot(6,1,5); stem(t,x1);subplot(6,1,6);plot(abs(F1));运行结果:四、实验小结通过此次实验,使我掌握了信号抽样与恢复的方法,以及如何用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的信号?编程验证你的想法。
数字信号处理实验教案五篇范文

数字信号处理实验教案五篇范文第一篇:数字信号处理实验教案数字信号处理实验教案信息工程学院-通信工程教研室数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼同学们的独立解决问题的能力。
本讲义在第三版的基础上编写了五个实验,前2个实验属基础性的验证性实验,第3、4、5个实验属基本应用综合性实验。
实验一离散时间信号的MATLAB实现实验二线性卷积与循环卷积的原理及应用实验三频率采样定理实验四离散系统的因果性和稳定性及频率响应特性实验五基于MATLAB的快速傅里叶变换根据教学进度,理论课结束后进行相关实验。
实验一时域离散信号的产生一实验目的(1)了解常用的时域离散信号及其特点。
(2)掌握MATLAB产生常用时域离散信号的方法。
二实验内容(1)编写程序,产生下列离散序列:A.f(n)=δ(n)(-3B.f(n)=e(0.1+j1.6π)n(0(2)一个连续的周期性三角波信号频率为50Hz,信号幅度在0~+2V之间,在窗口上显示2个周期信号波形,对信号的一个周期进行16点采样来获取离散信号。
试显示原连续信号和采样获得的离散信号波形。
(3)一个连续的周期性方波信号频率为200Hz,信号幅度在-1~+1V 之间,在窗口上显示2个周期信号波形,用Fs=4kHz的频率对连续信号进行采样,试显示原连续信号和采样获得的离散信号波形。
三实验步骤(1)在matlab命令窗口中逐行输入下列语句>> n1=-3;n2=4;n0=0;%在起点n1、终点n2的范围内,于n0处产生冲激 >> n=n1:n2;%生成离散信号的时间序列 >> x=[n==n0];%生成离散信号x(n)>> stem(n,x,'filled');%绘制杆状图,且圆心处用实心圆表示>> title('单位脉冲序列');>> xlabel('时间(n)');ylabel('幅度x(n)');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=δ(n),(-3 >> n1=16;a=0.1;w=1.6*pi;>> n=0:n1;>> x=exp((a+j*w)*n);>>subplot(2,1,1),stem(n,real(x));%在指定位置描绘图像>> title('复指数序列的实部');>> subplot(2,1,2),stem(n,imag(x));>> title('复指数序列的虚部');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=e(0.1+j1.6π)n,(0>> f=50;Um=1;nt=2;%输入信号频率、振幅、显示周期 >> N=16;T=1/f;%N为信号一个采样周期的采样点数,T为信号周期 >> dt=T/N;%采样时间间隔 >> n=0:nt*N-1;%建立离散时间的时间序列 >> tn=n*dt;%确定时间序列样点在时间轴上的位置>> f=Um*sawtooth(2*f*pi*tn)+1;>> subplot(2,1,1),stem(tn,f);%显示经采样的信号>> title('离散信号');>> subplot(2,1,2),plot(tn,f);%显示原连续信号 >> title('连续信号');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形(4)在matlab命令窗口中逐行输入下列语句>> f=200;Um=1;nt=2;%输入信号频率、振幅、显示周期 >> Fs=4000;N=Fs/f;T=1/f;%输入采样频率、求采样点数N、T为信号周期 >> dt=T/N;%采样时间间隔 >> n=0:nt*N-1;%建立离散时间的时间序列 >> tn=n*dt;%确定时间序列样点在时间轴上的位置>> f=Um*sin(2*f*pi*tn);>> subplot(2,1,2),plot(tn,f);%显示原连续信号 >> title('连续信号');>> subplot(2,1,1),stem(tn,f);%显示经采样的信号 >> title('离散信号');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形四思考题(1)如何在matlab下生产f(n)=3sin(nπ/4)(0(2)改变实验步骤中最后两个实验的频率参数,分别重新生成相关的信号?实验二线性卷积与循环卷积的原理及应用一、实验目的(1)掌握两种卷积的原理和两者的异同。
数字信号处理第一次实验报告

杭州电子科技大学通信工程学院实验报告课程名称:数字信号处理实验实验名称:离散时间系统的时域特性分析指导教师:魏超学生姓名:张之雨学生学号:17081135学生班级:17086911学生专业:信息工程实验日期:2019.10.8一:实验目的二:实验原理三:预习与参考1.所使用的主要函数⑴x=zeros(I,N)作用:产生N个零元素矢量函数。
⑵y=impz(b,a,N)作用:计算系统的冲激响应序列的前N个取样点。
⑶y=filter(b,a,x)作用:系统对输入x进行滤波。
2.相关函数的应用实例四:实验内容以及步骤五:实验结果与数据处理、分析⑴n=0:300;num1=[0.5 0.27 0.77];den1=[1];num2=[0.45 0.5 0.45];den2=[1 -0.53 0.46];xn=cos((20*pi*n)/256)+cos((200*pi*n)/256); y1=filter(num1,den1,xn);y2=filter(num2,den2,xn);subplot(3,1,1)title(1);stem(n,y1)title('系统1输出波形');subplot(3,1,2)stem(n,y2)title('系统2输出波形');subplot(3,1,3)stem(n,xn)title('输入波形');⑵n=0:40;num1=[0.5 0.27 0.77];den1=[1];num2=[0.45 0.5 0.45];den2=[1 -0.53 0.46];hn=0*(n>0)+1*(n==1); //单位冲激函数y1=filter(num1,den1,hn);y2=filter(num2,den2,hn);subplot(2,1,1)stem(n,y1)title('系统1单位冲击响应波形'); subplot(2,1,2)stem(n,y2)title('系统2单位冲击响应波形');⑶clc;clear;n=0:40;D=10;a=3;b=-2;x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x=a*x1+b*x2;xd=[zeros(1,D) x];num=[0.45 0.5 0.45];den=[1 -0.53 0.46];ic=[0 0];y1=filter(num,den,x1);y2=filter(num,den,x2);y=filter(num,den,x,ic);yd=filter(num,den,xd,ic);yt=a*y1+b*y2;y3=y-yt; //相减证明是否相等N=length(y);d=y-yd(1+D:N+D); //相减证明是否相等subplot(6,1,1)stem(n,y)title('验证时不变性原输出波形')subplot(6,1,2)stem(yd)title('')stem(n,d)title('stem(n,yt)title('')stem(n,y)title('')stem(n,y3)title('⑴x(n) y 1(n)x(n) y 2(n)⑵δ(n) y 1(n)δ(n)y2(n)。
数字信号实验六

杭州电子科技大学数字信号处理实验报告课程名称:信号、系统与信号处理实验Ⅱ实验名称:利用FFT实现快速卷积指导老师:黄怡杨萌组员:罗宵晗(12081429)专业:通信工程实验日期:2014.12.01实验六利用FFT 实现快速卷积【实验目的】(1)加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好地利用FFT 进行数字信号处理。
(2)进一步掌握圆周卷积和线性卷积两者之间的关系。
【实验原理】数字滤波器根据系统的单位冲激响应)(n h 是有限长还是无限长可分为有限长单位冲激响应系统和无限长单位冲激响应系统。
对于FIR 数字滤波器来说,除了可以通过数字网络来实现外,也可以通过应用FFT 来实现。
首先我们知道,一个信号序列)(n x 通过FIR 数字滤波器时,其输出应该是)(n x 和)(n h 的线性卷积:∑+∞−∞=−=∗=m m n h m x n h n x n y )()()()()(或∑+∞−∞=−=∗=m m n x m h n x n h n y )()()()()(当)(n h 是一个有限长序列,即)(n h 是FIR 滤波器,且0≤n ≤N-1时∑−=−=10)()()(N m m n x m h n y 在数字网络类的FIR 滤波器中,普遍使用的横截型结构就是按这个卷积公式构成的。
应用FFT 实现数字滤波器实际上就是用FFT 来快速计算有限长度序列的线性卷积。
粗略地说,这种方法就是先将输入信号)(n x 通过FFT 变换为它的频谱取样值X(k),然后再和FIR 滤波器的频响取样值)(k H 相乘,)(k H 可事先存放在存储器中,最后再将乘积)(k H )(k X 通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出)(n y ,如图所示。
现以FFT 求有限长序列间的卷积及求有限长度序列与较长序列间的卷积为例来讨论FFT 的快速卷积方法。
(1)序列)(n x 和)(n h 的列长差不多。
(完整word版)数字信号处理上机实验答案(第三版,第十章)

第十章上机实验数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验.上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。
实验一系统响应及系统稳定性。
实验二时域采样与频域采样。
实验三用FFT对信号作频谱分析。
实验四IIR数字滤波器设计及软件实现。
实验五FIR数字滤波器设计与软件实现实验六应用实验—-数字信号处理在双音多频拨号系统中的应用任课教师根据教学进度,安排学生上机进行实验。
建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。
学习完第六章进行;实验五在学习完第七章后进行。
实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。
10。
1 实验一:系统响应及系统稳定性1.实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性.2.实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性.已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解.在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB 语言的工具箱函数filter 函数。
也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。
重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应.系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和的条件.系统的稳定性由其差分方程的系数决定。
数字信号处理实验报告

数字信号处理实验报告数字信号处理实验报告一、实验目的本实验旨在通过数字信号处理的方法,对给定的信号进行滤波、频域分析和采样率转换等操作,深入理解数字信号处理的基本原理和技术。
二、实验原理数字信号处理(DSP)是一种利用计算机、数字电路或其他数字设备对信号进行各种处理的技术。
其主要内容包括采样、量化、滤波、变换分析、重建等。
其中,滤波器是数字信号处理中最重要的元件之一,它可以用来提取信号的特征,抑制噪声,增强信号的清晰度。
频域分析是指将时域信号转化为频域信号,从而更好地理解信号的频率特性。
采样率转换则是在不同采样率之间对信号进行转换,以满足不同应用的需求。
三、实验步骤1.信号采集:首先,我们使用实验室的信号采集设备对给定的信号进行采集。
采集的信号包括噪声信号、含有正弦波和方波的混合信号等。
2.数据量化:采集到的信号需要进行量化处理,即将连续的模拟信号转化为离散的数字信号。
这一步通常通过ADC(模数转换器)实现。
3.滤波处理:将量化后的数字信号输入到数字滤波器中。
我们使用不同的滤波器,如低通、高通、带通等,对信号进行滤波处理,以观察不同滤波器对信号的影响。
4.频域分析:将经过滤波处理的信号进行FFT(快速傅里叶变换)处理,将时域信号转化为频域信号,从而可以对其频率特性进行分析。
5.采样率转换:在进行上述处理后,我们还需要对信号进行采样率转换。
我们使用了不同的采样率对信号进行转换,并观察采样率对信号处理结果的影响。
四、实验结果及分析1.滤波处理:经过不同类型滤波器处理后,我们发现低通滤波器可以有效抑制噪声,高通滤波器可以突出高频信号的特征,带通滤波器则可以提取特定频率范围的信号。
这表明不同类型的滤波器在处理不同类型的信号时具有不同的效果。
2.频域分析:通过FFT处理,我们将时域信号转化为频域信号。
在频域分析中,我们可以更清楚地看到信号的频率特性。
例如,对于噪声信号,我们可以看到其频率分布较为均匀;对于含有正弦波和方波的混合信号,我们可以看到其包含了不同频率的分量。
杭电数字信号处理实验6

信号、系统与信号处理实验Ⅱ实验报告姓名:王健学号:14072119班级:14083413上课时间:周五-六七八实验名称:利用FFT实现快速卷积一、实验目的(1)加深理解FFT在实现数字滤波中的重要作用,更好地利用FFT进行数字信号处理(2)进一步掌握圆周卷积和线性卷积两者之间的关系二、实验原理与要求实验原理应用FFT实现数字滤波器实际上就是用FFT来快速计算有限长度序列的线性卷积。
这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值X(k),然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(n),其原理框图如下:实验要求⑴给定两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1]。
首先直接在时域计算两者的线性卷积;其次用FFT快速计算二者的线性卷积,验证结果。
⑵数字滤波器的脉冲响应为,N2可自定,本实验取N2=17输入序列x(n)可选下列几种情况:1: ,N1可取162:N1=163:, N1=16⑶实验前,预先编制一个应用FFT实现数字滤波器的通用程序。
⑷上机独立调试,并打印或记录实验结果。
⑸将实验结果与预先笔算的结果比较,验证其正确性。
三、 实验程序与结果1. 应用FFT 实现数字滤波器的通用程序function yn=fftconv(xn,hn) N=length(xn)+length(hn)-1; YK=fft(xn,N).*fft(hn,N); yn=ifft(YK,N);if all(imag(xn)==0)&&(all(imag(hn)==0)) yn=real(yn); end2. 两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1]。
首先直接在时域计算两者的线性卷积;其次用FFT 快速计算二者的线性卷积clear;clc;close all xn=[2 1 1 2]; hn=[1 -1 -1 1];N=length(xn)+length(hn)-1; yn=fftconv(xn,hn); yc=conv(xn,hn);subplot(1,2,1) stem(0:N-1,yn,'.')title('用fft 计算卷积') subplot(1,2,2)stem(0:length(yc)-1,yc,'.') title('用conv 计算卷积') 结果:用fft 计算卷积用conv 计算卷积3. 数字滤波器的脉冲响应为,N2可自定,本实验N2=17输入序列x(n)可选下列几种情况下的卷积clear;clc;close alln=0:16;hn=(-1/2).^n;xn1=ones(1,16);yn1=fftconv(xn1,hn);subplot(1,2,1)stem(0:length(xn1)+length(hn)-2,yn1,'.')title('用fft计算卷积')subplot(1,2,2)yc1=conv(xn1,hn);stem(0:length(yc1)-1,yc1,'.')title('用conv计算卷积')figureN2=16;n2=0:N2-1;xn2=cos(2*pi/N2.*n2).*ones(1,N2);yn2=fftconv(xn2,hn);subplot(1,2,1)stem(0:length(xn2)+length(hn)-2,yn2,'.')title('用fft计算卷积')subplot(1,2,2)yc2=conv(xn2,hn);stem(0:length(yc2)-1,yc2,'.')title('用conv计算卷积')figureN3=16;n3=0:N3-1;xn3=(1/3).^n3.*ones(1,N3);yn3=fftconv(xn3,hn);subplot(1,2,1)stem(0:length(xn3)+length(hn)-2,yn3,'.')title('用fft计算卷积')subplot(1,2,2)yc3=conv(xn3,hn);stem(0:length(yc3)-1,yc3,'.')title('用conv计算卷积')结果,N1取16用fft 计算卷积用conv 计算卷积N1=16用fft 计算卷积用conv 计算卷积,N1=16用fft 计算卷积用conv 计算卷积四、仿真结果分析从仿真的结果图可以看出利用函数fftconv函数即先频域乘积再转换时域的方法求卷积与conv计算的结果是一样的,说明这种方法是正确实用的五、实验问题解答与体会这一次数字信号处理实验,虽然题目看起来简单,但是编程的时候却会有陷阱,加上自己的粗心用了好久才完成。
电子科技大学-数字信号处理实验报告-FFT的实现

电 子 科 技 大 学实 验 报 告学生姓名: 学 号: 指导教师:一、实验室名称:数字信号处理实验室 二、实验项目名称:FFT 的实现 三、实验原理:一.FFT 算法思想: 1.DFT 的定义:对于有限长离散数字信号{x[n]},0 ≤ n ≤ N-1,其离散谱{x[k]}可以由离散付氏变换(DFT )求得。
DFT 的定义为:21[][]N jnk Nn X k x n eπ--==∑,k=0,1,…N-1通常令2jNN eW π-=,称为旋转因子。
2.直接计算DFT 的问题及FFT 的基本思想:由DFT 的定义可以看出,在x[n]为复数序列的情况下,完全直接运算N 点DFT 需要(N-1)2次复数乘法和N (N-1)次加法。
因此,对于一些相当大的N 值(如1024)来说,直接计算它的DFT 所作的计算量是很大的。
FFT 的基本思想在于,将原有的N 点序列分成两个较短的序列,这些序列的DFT 可以很简单的组合起来得到原序列的DFT 。
例如,若N 为偶数,将原有的N 点序列分成两个(N/2)点序列,那么计算N 点DFT 将只需要约[(N/2)2 ·2]=N 2/2次复数乘法。
即比直接计算少作一半乘法。
因子(N/2)2表示直接计算(N/2)点DFT 所需要的乘法次数,而乘数2代表必须完成两个DFT 。
上述处理方法可以反复使用,即(N/2)点的DFT 计算也可以化成两个(N/4)点的DFT (假定N/2为偶数),从而又少作一半的乘法。
这样一级一级的划分下去一直到最后就划分成两点的FFT 运算的情况。
3.基2按时间抽取(DIT )的FFT 算法思想:设序列长度为2L N =,L 为整数(如果序列长度不满足此条件,通过在后面补零让其满足)。
将长度为2L N =的序列[](0,1,...,1)x n n N =-,先按n 的奇偶分成两组:12[2][][21][]x r x r x r x r =+=,r=0,1,…,N/2-1DFT 化为:1/21/212(21)0/21/21221200/21/211/22/2[]{[]}[][2][21][][][][]N N N nk rk r kNNNn r r N N rk k rk NNN r r N N rk k rk N NN r r X k DFT x n x n Wx r Wx r W x r W Wx r W x r WWx r W ---+===--==--=====++=+=+∑∑∑∑∑∑∑上式中利用了旋转因子的可约性,即:2/2rkrkNN W W =。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号、系统与信号处理实验Ⅱ
实验报告
姓名:王健
学号:14072119
班级:14083413
上课时间:周五-六七八
实验名称:利用FFT实现快速卷积
一、实验目的
(1)加深理解FFT在实现数字滤波中的重要作用,更好地利用FFT进行数字信号处理
(2)进一步掌握圆周卷积和线性卷积两者之间的关系
二、实验原理与要求
实验原理
应用FFT实现数字滤波器实际上就是用FFT来快速计算有限长度序列的线性卷积。
这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值X(k),然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(n),其原理框图如下:
实验要求
⑴给定两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1]。
首先直接在时域计算两者的线
性卷积;其次用FFT快速计算二者的线性卷积,验证结果。
⑵数字滤波器的脉冲响应为,N2可自定,本实验取
N2=17
输入序列x(n)可选下列几种情况:
1: ,N1可取16
2:N1=16
3:, N1=16
⑶实验前,预先编制一个应用FFT实现数字滤波器的通用程序。
⑷上机独立调试,并打印或记录实验结果。
⑸将实验结果与预先笔算的结果比较,验证其正确性。
三、 实验程序与结果
1. 应用FFT 实现数字滤波器的通用程序
function yn=fftconv(xn,hn) N=length(xn)+length(hn)-1; YK=fft(xn,N).*fft(hn,N); yn=ifft(YK,N);
if all(imag(xn)==0)&&(all(imag(hn)==0)) yn=real(yn); end
2. 两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1]。
首先直接在时域计算两者的线性卷积;其次用FFT 快速计算二者的线性卷积
clear;clc;close all xn=[2 1 1 2]; hn=[1 -1 -1 1];
N=length(xn)+length(hn)-1; yn=fftconv(xn,hn); yc=conv(xn,hn);
subplot(1,2,1) stem(0:N-1,yn,'.')
title('用fft 计算卷积') subplot(1,2,2)
stem(0:length(yc)-1,yc,'.') title('用conv 计算卷积') 结果:
用fft 计算卷积
用conv 计算卷积
3. 数字滤波器的脉冲响应为,N2可自定,本实验N2=17
输入序列x(n)可选下列几种情况下的卷积
clear;clc;close all
n=0:16;
hn=(-1/2).^n;
xn1=ones(1,16);
yn1=fftconv(xn1,hn);
subplot(1,2,1)
stem(0:length(xn1)+length(hn)-2,yn1,'.')
title('用fft计算卷积')
subplot(1,2,2)
yc1=conv(xn1,hn);
stem(0:length(yc1)-1,yc1,'.')
title('用conv计算卷积')
figure
N2=16;n2=0:N2-1;
xn2=cos(2*pi/N2.*n2).*ones(1,N2);
yn2=fftconv(xn2,hn);
subplot(1,2,1)
stem(0:length(xn2)+length(hn)-2,yn2,'.')
title('用fft计算卷积')
subplot(1,2,2)
yc2=conv(xn2,hn);
stem(0:length(yc2)-1,yc2,'.')
title('用conv计算卷积')
figure
N3=16;n3=0:N3-1;
xn3=(1/3).^n3.*ones(1,N3);
yn3=fftconv(xn3,hn);
subplot(1,2,1)
stem(0:length(xn3)+length(hn)-2,yn3,'.')
title('用fft计算卷积')
subplot(1,2,2)
yc3=conv(xn3,hn);
stem(0:length(yc3)-1,yc3,'.')
title('用conv计算卷积')
结果
,N1取16
用fft 计算卷积
用conv 计算卷积
N1=16
用fft 计算卷积
用conv 计算卷积
,
N1=16
用fft 计算卷
积
用conv 计算卷积
四、仿真结果分析
从仿真的结果图可以看出利用函数fftconv函数即先频域乘积再转换时域的方法求卷积与conv计算的结果是一样的,说明这种方法是正确实用的
五、实验问题解答与体会
这一次数字信号处理实验,虽然题目看起来简单,但是编程的时候却会有陷阱,加上自己的粗心用了好久才完成。
以后做实验一定不能大意,一定要预习,特别是例程,例程能很好地表达函数用法,使逻辑更加清楚。
另外,在以后实验的时候一定要带上数字信号处理的教材,因为实验能很好地实践验证教材所教的东西,加深自己的理解,纠正自己的错误观念,结合教材去验证加深知识,而不是一味为完成实验而做实验。