数字信号处理实验二
数字信号处理 实验报告 实验二 应用快速傅立叶变换对信号进行频谱分析

数字信号处理实验报告实验二应用快速傅立叶变换对信号进行频谱分析2011年12月7日一、实验目的1、通过本实验,进一步加深对DFT 算法原理合基本性质的理解,熟悉FFT 算法 原理和FFT 子程序的应用。
2、掌握应用FFT 对信号进行频谱分析的方法。
3、通过本实验进一步掌握频域采样定理。
4、了解应用FFT 进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT 。
二、实验原理与方法1、一个连续时间信号)(t x a 的频谱可以用它的傅立叶变换表示()()j t a a X j x t e dt +∞-Ω-∞Ω=⎰2、对信号进行理想采样,得到采样序列()()a x n x nT =3、以T 为采样周期,对)(n x 进行Z 变换()()n X z x n z +∞--∞=∑4、当ωj ez =时,得到序列傅立叶变换SFT()()j j n X e x n e ωω+∞--∞=∑5、ω为数字角频率sT F ωΩ=Ω=6、已经知道:12()[()]j a m X e X j T T Tωωπ+∞-∞=-∑ ( 2-6 )7、序列的频谱是原模拟信号的周期延拓,即可以通过分析序列的频谱,得到相应连续信号的频谱。
(信号为有限带宽,采样满足Nyquist 定理)8、无线长序列可以用有限长序列来逼近,对于有限长序列可以使用离散傅立叶变换(DFT )。
可以很好的反映序列的频域特性,且易于快速算法在计算机上实现。
当序列()x n 的长度为N 时,它的离散傅里叶变换为:1()[()]()N knN n X k DFT x n x n W-===∑ 其中2jNN W eπ-=,它的反变换定义为:101()[()]()N knN k x n IDFT X k X k W N --===∑比较Z 变换式 ( 2-3 ) 和DFT 式 ( 2-7 ),令kN z W -=则1()()[()]|kNN nkN N Z W X z x n W DFT x n ---====∑ 因此有()()|kNz W X k X z -==k N W -是Z 平面单位圆上幅角为2kNπω=的点,也即是将单位圆N 等分后的第k 点。
数字信号处理实验报告(实验二)

实验二 时域采样与频域采样1. 实验目的:(1) 掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息。
(2) 掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。
(3) 会用MATLAB 语言进行时域抽样与信号重建的方法,以及频域抽样与恢复时程序的编写方法。
2. 实验原理:了解时域采样定理的要点,理解理想采样信号)(ˆt xa 和模拟信号)(t x a 之间的关系,了解频域采样定理的要点,掌握这两个采样理论的结论:“时域采样频谱周期延拓,频域采样时域信号周期延拓”。
3. 实验内容:(1)时域采样理论的验证。
给定模拟信号,)()sin()(0t u t Ae t x t a Ω=-α式中A=444.128,α=502π,0Ω=502πrad/s(2)用DFT(FFT)求该模拟信号的幅频特性,选取三种采样频率,以验证时域采样理论。
(3)编写实验程序,计算)(1n x 、)(2n x 和)(3n x 的幅度特性,并绘图显示。
观察分析频谱混叠失真。
(4)频域采样理论的验证。
给定信号如下:⎪⎩⎪⎨⎧≤≤-≤≤+=其它02614271301)(n n n n n x(5)编写程序分别对频谱函数()FT[()]j X e x n ω=在区间]2,0[π上等间隔采样32和16点,得到)()(1632k X k X 和,再分别对)()(1632k X k X 和进行32点和16点IFFT ,得到)()(1632n x n x 和。
(6)分别画出()j X e ω、)()(1632k X k X 和的幅度谱,并绘图显示x(n)、)()(1632n x n x 和的波形,进行对比和分析,验证总结频域采样理论。
4. 思考题:如果序列x(n)的长度为M ,希望得到其频谱()j X e ω在]2,0[π上的N 点等间隔采样,当N<M 时, 如何用一次最少点数的DFT 得到该频谱采样?答:将长序列分段分段计算,这种分段处理方法有重叠相加法和重叠保留法两种。
数字信号处理第二版(实验二) 信号的采样与重建

实验二信号的采样与重建一,实验目的(1)通过观察采样信号的混叠现象,进一步理解奈奎斯特采样频率的意义。
(2)通过实验,了解数字信号采样转换过程中的频率特征。
(3)对实际的音频文件作内插和抽取操作,体会低通滤波器在内插和抽取中的作用。
二,实验内容(1)采样混叠,对一个模拟信号Va(t)进行等间采样,采样频率为200HZ,得到离散时间信号V(n).Va(t)由频率为30Hz,150Hz,170Hz,250Hz,330Hz的5个正弦信号的加权和构成。
Va(t)=6cos(60pi*t)+3sin(300pi*t)+2cos(340pi*t)+4cos(500pi*t )+10sin(660pi*t)观察采样后信号的混叠效应。
程序:clear,close all,t=0:0.1:20;Ts=1/2;n=0:Ts:20;V=8*cos(0.3*pi*t)+5*cos(0.5*pi*t+0.6435)-10*sin(0.7*pi*t);Vn=8*cos(0.3*pi*n)+5*cos(0.5*pi*n+0.6435)-10*sin(0.7*pi*n);subplot(221)plot(t,V),grid on,subplot(222)stem(n,Vn,'.'),gridon,05101520-40-200204005101520-40-2002040(2)输入信号X(n)为归一化频率f1=0.043,f2=0.31的两个正弦信号相加而成,N=100,按因子M=2作抽取:(1)不适用低通滤波器;(2)使用低通滤波器。
分别显示输入输出序列在时域和频域中的特性。
程序:clear;N=100; M=2;f1=0.043; f2=0.31; n=0:N-1;x=sin(2*pi*f1*n)+sin(2*pi*f2*n); y1=x(1:2:100);y2=decimate(x,M,'fir'); figure(1);stem(n,x(1:N));title('input sequence'); xlabel('n');ylabel('fudu'); figure(2); n=0:N/2-1; stem(n,y1);title('output sequence without LP'); xlabel('n');ylabel('fudu'); figure(3); m=0:N/M-1;stem(m,y2(1:N/M));title('output sequence with LP'); xlabel('n');ylabel('fudu'); figure(4);[h,w]=freqz(x);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the input sequence'); xlabel('w');ylabel('fudu'); figure(5);[h,w]=freqz(y1);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the output sequence without LP'); xlabel('w');ylabel('fudu'); figure(6);[h,w]=freqz(y2);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the output sequence without LP'); xlabel('w');ylabel('fudu');0102030405060708090100-2-1.5-1-0.500.511.52input sequencenf u d u05101520253035404550-2-1.5-1-0.500.511.52output sequence without LPnf u d u05101520253035404550-1.5-1-0.50.511.5output sequence with LPnf u d u0.511.522.533.505101520253035404550frequency spectrum of the input sequencewf u d u00.51 1.52 2.53 3.551015202530frequency spectrum of the output sequence without LPwf u d u00.51 1.52 2.53 3.5510152025frequency spectrum of the output sequence without LPwf u d u(3)输入信号X(n)为归一化频率f1=0.043,f2=0.31的两个正弦信号相加而成,长度N=50,内插因子为2.(1)不适用低通滤波器;(2)使用低通滤波器。
数字信号处理 实验二

实验二离散时间信号时域表示一、实验类型:验证性实验二、实验目的1)掌握序列的产生方法;2)熟悉关于序列的简单运算;3)序列及其运算结果的可视化表示。
三、实验内容和步骤1)编写sy2_1.m程序文件,生成单位抽样序列和单位阶跃序列(n=-10~20),用图形显示。
2)编写sy2_2.m程序文件,生成一个实数值的指数序列(n=0~35,a=1.2),用图形显示。
3)编写sy2_3.m程序文件,生成扫频正弦序列X(n)=cos(pi*n2/200)(n=0~100),用图形显示。
4)编写sy2_4,m程序文件以实现下列功能:用rand函数随机产生噪声,加在一个已知的确定信号上,然后采用三点滑动平均算法y(n)=1/3(x[n-1]+x[n]+x[n+1])实现信号的平滑,用图形显示平滑后的信号。
四、实验结果及分析1)单位阶跃 sy2_1.mn=-10:20;y=[zeros(1,10),1,ones(1,20)];stem(n,y);2) 单位抽样sy2_1_1.mn=-10:20;y=[zeros(1,10),1,zeros(1,20)]; stem(n,y);3) 扫频正弦序列sy2_3.mn=0:1:100;f=cos(pi*n.^2/200);stem(n,f);4)指数序列sy2_2.mn=0:35;a=1.2;y=a.^n;stem(n,y);5)sy2_4.mN=128n=1:N;x=0.5-rand(1,N);stem(n,x);y=1.5*sin(60*pi*n*0.001); z=x+y;plot(n,z);-2-1.5-1-0.50.511.52五、问题思考:Legend 命令的作用是什么?解:添加AXES 里每条线的标识。
数字信号处理-实验二-FFT频谱分析

实验三:用FFT对信号作频谱分析10.3.1实验指导1.实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。
2.实验原理用FFT对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D和分析误差。
频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2 /N,因此要求2 /N D。
可以根据此式选择FFT的变换区间N。
误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
3•实验步骤及内容(1)对以下序列进行谱分析。
X1 (n) RHn)n 1, 0 n 3X2 (n) 8 n, 4 n 70 ,其它n4 n, 0 n 3X3( n) n 3, 4 n 70, 其它n选择FFT的变换区间N为8和16两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(2)对以下周期序列进行谱分析。
x4(n) cos—n44x5(n) cos( n/4) cos( n/8)选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(3)对模拟周期信号进行谱分析x6(t) cos8 t cos16 t cos20 t选择采样频率F s 64Hz ,变换区间N=16,32,64 三种情况进行谱分析。
数字信号处理实验二报告材料

实验二IIR数字滤波器设计及软件实现1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
2.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。
第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。
3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。
由图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。
图1 三路调幅信号st 的时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。
(完整版)数字信号处理实验二

y = filter(num,den,x,ic);
yt = a*y1 + b*y2;
d = y - yt;
subplot(3,1,1)
stem(n,y);
ylabel('振幅');
title('加权输入: a \cdot x_{1}[n] + b \cdot x_{2}[n]的输出');
subplot(3,1,2)
%扫频信号通过2.1系统:
clf;
n = 0:100;
s1 = cos(2*pi*0.05*n);
s2 = cos(2*pi*0.47*n);
a = pi/2/100;
b = 0;
arg = a*n.*n + b*n;
x = cos(arg);
M = input('滤波器所需的长度=');
num = ones(1,M);
三、实验器材及软件
1.微型计算机1台
2. MATLAB 7.0软件
四、实验原理
1.三点平滑滤波器是一个线性时不变的有限冲激响应系统,将输出延时一个抽样周期,可得到三点平滑滤波器的因果表达式,生成的滤波器表示为
归纳上式可得
此式表示了一个因果M点平滑FIR滤波器。
2.对线性离散时间系统,若y1[n]和y2[n]分别是输入序列x1[n]和x2[n]的响应,则输入
plot(n, y);
axis([0, 100, -2, 2]);
xlabel('时间序号 n'); ylabel('振幅');
数字信号处理实验二DFT 和FFT

实验二DFT 和FFT一.实验内容1.认真复习周期序列DFS、有限长序列DFT 的概念、旋转因子的定义、以及DFS 和DFT的性质等有关内容;复习基2-FFT 的基本算法,混合基-FFT 的基本算法、Chirp-Z 变换的算法等快速傅立叶变换的方法。
2.掌握有限长序列的循环移位、循环卷积的方法,对序列共轭对称性的含义和相关内容加深理解和掌握,掌握利用DFT 分析序列的频谱特性的基本方法。
3.掌握FFT 算法的基本原理和方法、Chirp-Z 变换的基本原理和方法,掌握利用FFT 分析序列的频谱特性的方法。
4.熟悉利用MATLAB 进行序列的DFT、FFT 的分析方法。
二.实验内容a. 设周期序列x~(n)={ …,0,1,2,3,0,1,2,3,0,1,2,3,….},求该序列的离散傅立叶级数X(k) = DFS[x~(n)],并画出DFS 的幅度特性。
在matlab中新建函数dfs:function [Xk]=dfs(xn,N)n=0:1:N-1;k=0:1:N-1;Wn=exp(-j*2*pi/N);nk=n'*k;Wnk=Wn.^nk;Xk=xn*Wnk;在matlab中输入以下代码:xn=[0,1,2,3];k=0:1:3;N=4;Xk=dfs(xn,N);y=abs(Xk);stem(k,y);title('周期序列的离散傅立叶级数');生成图像如下:由定义可知,对于周期序列,根据离散傅里叶级数公式即可求出,实验中显示了一个周期的傅里叶级数。
b. 设周期方波序列为x(n)=⎩⎨⎧+≤≤++≤≤)1-1)N (m n (01)-L mN n 1(mN L mN (m=0,,....2,1±±)其中N 为基波周期,L/N 是占空比。
(1) 用L 和N 求| X (k) |的表达式;(2) 当L 和N 分别为:L=5,N=20;L=5,N=40;L=5,N=60 以及L=7,N=60 时画出DFS 的幅度谱;(3) 对以上结果进行讨论,总结其特点和规律。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2在2.1的基础上编写num=ones[1 -1],运行程序得出结论。
2.4分别用扫频信号通过2.1、2.2的系统,进行比较分析。
2.7分别计算出y1[n]和y2[n],得到yt[n];再利用filter函数求得y[n],计算差值输出,比较y[n]和yt[n]。
2.20根据impz函数的调用方式,得到
2.2若线性时不变系统由y[n]=0.5(x[n]+x[n-1])变成y[n]=0.5(x[n]-x[n-1]),对输入x[n]=s1[n]+s2[n]的影响是什么?
2.4修改程序P2.1,用一个长度为101、最低频率为0、最高频率为0.5的扫频正弦信号作为输入信号(见程序P1.7),计算其输出信号。你能用该系统对扫频信号的响应来解释习题Q2.1和习题Q2.2的结果吗?
s2 = cos(2*pi*0.47*n);
x = s1+s2;
M = input('滤波器所需的长度=');
num = ones(1,M);
y = filter(num,1,x)/M;
subplot(2,2,1);
plot(n, s1);
axis([0, 100, -2, 2]);
xlabel('时间序号 n'); ylabel('振幅');
xlabel('时间序号 n'); ylabel('振幅');
title('输入信号');
subplot(2,2,4);
plot(n, y);
axis([0, 100, -2, 2]);
xlabel('时间序号 n'); ylabel('振幅');
title('输出信号');
axis;
2.2若线性时不变系统由y[n]=0.5(x[n]+x[n-1])变成y[n]=0.5(x[n]-x[n-1]),对输入x[n]=s1[n]+s2[n]的影响是什么?
的输出响应为
则系统称为线性系统。
3.对于离散时不变系统,若y1[n]是x1[n]的响应,则输入
x[n]=x1[n-n0]
的输出响应为
y[n]=y1[n-n0]
则称系统为时不变系统。
五、实验步骤
2.1首先利用MATLAB产生一个高频正弦信号和一个低频正弦信号,利用两个信号生成一个输入信号,接着利用filter函数生成输出信号,最后利用plot函数画出4
num = [0.9 -0.45 0.35 0.002] den = [1 0.71 -0.46 -0.62],再调用impz函数,画出图像。
2.23首先产生序列x[n],把它作为四阶系统的输入,生成y[n]。然后将同样的输入x[n]应用到第一级得到y1[n]。接着用相同的方法得到y2[n]。最后求得两者的差,并画出图像。
2.20修改程序P2.5,产生如下因果线性时不变系统的冲激响应的前45个样本:
2.23运行程序P2.6,计算输出序列y[n]和y2[n]以及差值信号d[n]。Y[n]和y2[n]相等吗?
2.28运行程序P2.7,对序列h[n]和x[n]求卷积,生成y[n],并用滤波器h[n]对输入x[n]滤波,求得y1[n]。y[n]和y1[n]有差别吗?为什么要使用对x[n]补零后得到的x1[n]作为输入来产生y1[n]?
在M=2的基础上,线性时不变系统由y[n]=0.5(x[n]+x[n-1])变成y[n]=0.5(x[n]-x[n-1])1 -1],通用的表达式为:num=[1 -ones(1,M-1)]。
得到图像为
2.4修改程序P2.1,用一个长度为101、最低频率为0、最高频率为0.5的扫频正弦信号作为输入信号(见程序P1.7),计算其输出信号。你能用该系统对扫频信号的响应来解释习题Q2.1和习题Q2.2的结果吗?
title('信号 #1');
subplot(2,2,2);
plot(n, s2);
axis([0, 100, -2, 2]);
xlabel('时间序号 n'); ylabel('振幅');
title('信号 #2');
subplot(2,2,3);
plot(n, x);
axis([0, 100, -2, 2]);
2.7运行程序P2.3,对由加权输入得到的y[n]与在相同权系数下输出y1[n]和y2[n]相加得到的yt[n]进行比较,这两个序列是否相等?该系统是线性系统吗?
2.12运行程序P2.4并比较输出序列y[n]和yd[n-10]。这两个系列之间有什么关系?该系统是时不变系统吗?
2.19运行程序P2.5,生成式(2.15)所给离散时间系统的冲激响应。
实验二离散时间系统的时域分析
实验室名称:实验时间:
姓名:学号:专业:指导教师:
成绩
教师签名:年月日
一、实验目的
1.利用MATLAB仿真简单的离散时间系统,研究其时域特性;
2.对线性时不变系统进行重点分析研究,掌握其特性。
二、实验内容
2.1对M=2,运行上述程序,生成输入x[n]=s1[n]+s2[n]的输出信号。输入x[n]的哪个分量被该离散时间系统抑制?
三、实验器材及软件
1.微型计算机1台
2. MATLAB 7.0软件
四、实验原理
1.三点平滑滤波器是一个线性时不变的有限冲激响应系统,将输出延时一个抽样周期,可得到三点平滑滤波器的因果表达式,生成的滤波器表示为
归纳上式可得
此式表示了一个因果M点平滑FIR滤波器。
2.对线性离散时间系统,若y1[n]和y2[n]分别是输入序列x1[n]和x2[n]的响应,则输入
%扫频信号通过2.1系统:
clf;
n = 0:100;
s1 = cos(2*pi*0.05*n);
s2 = cos(2*pi*0.47*n);
a = pi/2/100;
b = 0;
arg = a*n.*n + b*n;
2.28分别用conv函数和filter函数求得输出,进行图像比较。
六、实验记录(数据、图表、波形、程序等)
2.1对M=2,运行上述程序,生成输入x[n]=s1[n]+s2[n]的输出信号。输入x[n]的哪个分量被该离散时间系统抑制?
% Program P2_1
clf;
n = 0:100;
s1 = cos(2*pi*0.05*n);