数字信号处理实验二
数字信号处理 实验报告 实验二 应用快速傅立叶变换对信号进行频谱分析
数字信号处理实验报告实验二应用快速傅立叶变换对信号进行频谱分析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)使用低通滤波器。
数字信号处理-实验二-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 三种情况进行谱分析。
“数字信号处理”实验报告二
实验报告课程名称:数字信号处理实验任课教师:杨鉴实验名称:离散时间系统的时域分析年级、专业:2015级通信工程学号:**********姓名:***日期:2017 年10 月9 日云南大学信息学院一、实验1.通过MATLAB仿真一些简单的离散时间系统,并研究他们的时域特性。
2.掌握卷积在MATLAB的算法并理解滤波的概念。
二、实验内容1. 假定另一个系统为y[n]=x[n]x[n-1],修改程序P2.3,计算这个系统的输出序列y1[n],y2[n]和y[n]。
比较y[n]和yt[n]。
这两个序列是否相等?该系统是线性系统吗?2. 考虑另一个系统:y[n]=nx[n]+x[n-1],修改程序P2.4,以仿真上面的系统并确定该系统是否为时不变系统。
3.修改程序P2.7,计算长度为15的序列h[n]和长度为10的序列x[n]的卷积,重做问题Q2.28。
h[n]和x[n]的样本值你自己给定。
4.修改程序P2.9,将输入序列改变成扫频正弦序列(长度为301、最低频率为0、最高频率为0.5)。
那个滤波器能更好的抑制输入信号x[n]的高频分量?三、主要算法与程序Q2.11:clf;n = 0:40;a = 2;b = -3;f1=0.1;f2=0.4;x11=[0 cos(2*pi*f1*n) 0];x12=[0 0 cos(2*pi*f1*n)];x21=[0 cos(2*pi*f2*n) 0];x22=[0 0 cos(2*pi*f2*n)];x = a*x11 + b*x21;y1 = x11.*x12;y2 = x21.*x22;xd = a*x12+b*x22;y = x.*xd;yt = a*y1 + b*y2;d = y - yt; % Compute the difference output d[n]% Plot the outputs and the difference signalsubplot(3,1,1)stem([0 n 0],y);ylabel('Amplitude');title('Output Due to Weighted Input: a \cdot x_{1}[n] + b \cdot x_{2}[n]');subplot(3,1,2)stem([0 n 0],yt);ylabel('Amplitude');title('Weighted Output: a \cdot y_{1}[n] + b \cdot y_{2}[n]'); subplot(3,1,3)stem([0 n 0],d);xlabel('Time index n');ylabel('Amplitude');title('Difference Signal');Q2.17:clf;n = 0:40; D = 10;a = 3.0;b = -2;x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);xd = [zeros(1,D) x];nd=0:length(xd)-1;y=(n.*x)+[0 x(1:40)];yd=(nd.*xd)+[0 xd(1:length(xd)-1)];d = y - yd(1+D:41+D);subplot(3,1,1)stem(n,y);ylabel('振幅');title('输出 y[n]'); grid;subplot(3,1,2)stem(n,yd(1:41));ylabel('振幅');title('由于延时输入 x[n-10]的输出'); grid;subplot(3,1,3)stem(n,d);xlabel('时间序号 n'); ylabel('振幅');title('差值信号');grid;Q2.29:clf;h = [3 2 1 -2 1 0 -4 0 3 1 5 4 0 3 5]; % impulse responsex = [1 -2 3 -4 3 2 1 5 6 1]; % input sequencey = conv(h,x);n = 0:23;subplot(2,1,1);stem(n,y);xlabel('时间序号n');ylabel('振幅');title('用卷积得到的输出'); grid;x1 = [x zeros(1,14)];y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('时间序号 n'); ylabel('振幅');title('由滤波生成的输出'); grid;Q2.35:f=w/2pi=(2a*n+b)/2pi=[0,0.5],所以b=0,a*n<=0.5*pi,当n=300时,a取pi/600。
数字信号处理实验报告一二
数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的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. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
数字信号处理实验二报告材料
实验二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('振幅');
数字信号处理实验二
实验二信号的分析与处理综合实验一、实验目的目的:综合运用数字信号处理的理论知识进行信号的采样,重构,频谱分析和滤波器的设计,通过理论推导得出相应结论,再利用Matlab作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
二、基本要求1.掌握数字信号处理的基本概念、基本理论和基本方法;2.学会MA TLAB的使用,掌握MA TLAB的程序设计方法;3.掌握用MA TLAB设计简单实验验证采样定理的方法;4.掌握在Windows环境下语音信号采集的方法;5.学会用MA TLAB对信号进行频谱分析;6.掌握MA TLAB设计FIR和IIR数字滤波器的方法;三、实验内容1.利用简单正弦信号设计实验验证采样定理:(1)Matlab产生离散信号的方法,作图的方法,以及基本运算操作(2)对连续正弦信号以不同的采样频率作采样(3)对采样前后信号进行傅立叶变换,并画频谱图(4)分析采样前后频谱的有变化,验证采样定理。
掌握画频谱图的方法,深刻理解采样频率,信号频率,采样点数,频率分辨率等概念2.真实语音信号的采样重构:录制一段自己的语音信号,并对录制的信号进行采样;画出采样前后语音信号的时域波形和频谱图;对降采样后的信号进行插值重构,滤波,恢复原信号。
(1)语音信号的采集(2)降采样的实现(改变了信号的采样率)(3)以不同采样率采样后,语音信号的频谱分析(4)采样前后声音的变化(5)对降采样后的信号进行插值重构,滤波,恢复原信号3.带噪声语音信号的频谱分析(1)设计一频率已知的噪声信号,与实验2中原始语音信号相加,构造带噪声信号(2)画出原始语音信号和加噪声后信号,以及它们的频谱图(3)利用频谱图分析噪声信号和原语音信号的不同特性4.对带噪声语音信号滤波去噪:给定滤波器性能指标,采样窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采样的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;(1)分析带噪声信号频谱,找出噪声所在的频率段(2)利用matlab中已有的滤波器滤波(3)根据语音信号特点,自己设计滤波器滤波(4)比较各种滤波器性能(至少四种),选择一种合适的滤波器将噪声信号滤除(5)回放语音信号,比较滤波前后声音的变化四、实验原理参考《数字信号处理》教材《数字信号处理的MATLAB实现》万永革编著五、主要实验仪器及材料微型计算机、Matlab。
数字信号处理第2次实验
信号与系统实验报告(第二次实验)实验一:给定两个序列x1和x2,X1=[0,1,2,3,4,3,2,1,0],起始位置ns1=-2;X2=[2,2,0,0,0,-2,-2],起始位置ns2=2;求它们的和ya及乘积yp,并画出序列x1,x2,ya和yp的图实验要求:分析参考程序,写实验报告,说明编程思路。
参考程序中给出了中间序列y1和y2的计算及图示,握有关函数length、min、max、find的用法,以及有关逻辑操作运算和点乘运算。
掌握有关绘图函数的使用。
参考程序:% 离散信号序列相加和相乘参考程序如下:%x1=[0,1,2,3,4,3,2,1,0];ns1=-2; % 给定x1及ns1x2=[2,2,0,0,0,-2,-2]; ns2=2; % 给定x2及ns2nf1=ns1+length(x1)-1; nf2=ns2+length(x2)-1;ny= min(ns1,ns2):max(nf1,nf2); % y(n)的位置向量y1 = zeros(1,length(ny)); y2 = y1; % 延拓序列初始化y1(find((ny>=ns1)&(ny<=nf1)==1))=x1; % 给y1赋值x1y2(find((ny>=ns2)&(ny<=nf2)==1))=x2; % 给y2 赋值x2ya = y1 + y2; % 序列相加yp = y1.* y2; % 序列相乘subplot(4,2,1), stem(ns1:nf1,x1,'.') % 绘图xlabel('nx1'),ylabel('x1'),axis([-5,10,0,4])subplot(4,2,3), stem(ns2:nf2,x2,'.'),axis([-5,10,-2,2])xlabel('nx2'),ylabel('x2')subplot(4,2,2), stem(ny,y1,'.') % 绘图xlabel('ny'),ylabel('y1')subplot(4,2,4), stem(ny,y2,'.')xlabel('ny'),ylabel('y2')line([ny(1),ny(end)],[0,0]) % 画x轴subplot(4,2,6), stem(ny,ya,'.')xlabel('ny'),ylabel('ya')line([ny(1),ny(end)],[0,0]) % 画x轴subplot(4,2,8), stem(ny,yp,'.')xlabel('ny'),ylabel('yp')line([ny(1),ny(end)],[0,0]) % 画x轴set(gcf,'color','w') % 置图形背景色为白实验结果:编程思路:实验中给出的两个序列的起始位置和长度都不同,对该两个序列进行的操作实际上是对两个矩阵进行的操作,根据矩阵的运算性质可知,要想实现需要的操作,这两个序列起始位置和长度必须相等,所以先要对其进行序列的延拓之后才能进行相应的操作。
数字信号处理实验二时域采样和频域采样
数字信号处理实验二时域采样和频域采样数字信号处理是一门研究信号的数字化表示、处理和传输的学科。
在数字信号处理中,时域采样和频域采样是两种常用的信号分析方法。
下面我们将对这两种采样方法进行详细介绍和比较。
一、时域采样时域采样是数字信号处理中最基本的采样方法之一。
它通过对连续时间信号进行离散时间采样,将连续时间信号转换为离散时间信号。
时域采样的基本原理是,如果一个连续时间信号f(t)在采样时刻t=kT(k=0,1,2,)上的值f(kT)能够被准确地测量,则可以通过这些采样值重建出原始信号。
时域采样的优点是简单易行,适用于大多数信号的采样。
但是,时域采样也存在一些缺点。
首先,如果信号中含有高于采样率的频率成分,这些高频成分将会被混叠到低频部分,导致信号失真。
这种现象被称为混叠效应。
其次,时域采样需要大量的采样数据才能准确地重建出原始信号,这会占用大量的存储空间和计算资源。
二、频域采样频域采样是一种在频域上对信号进行采样的方法。
它通过对信号进行傅里叶变换,将信号转换到频域,然后对频域中的信号进行采样。
频域采样的基本原理是,如果一个离散时间信号f(n)的傅里叶变换在频域上有有限的带宽,那么频域上的信号可以被认为是无穷多个离散的冲激函数的线性组合。
通过对这些冲激函数的幅度和相位进行采样,可以得到频域采样值。
相比时域采样,频域采样具有一些优点。
首先,频域采样可以避免混叠效应,因为高频成分在频域中可以被准确地表示和处理。
其次,频域采样只需要采样信号的幅度和相位信息,而不必存储大量的采样数据,可以节省存储空间和计算资源。
此外,频域采样还可以用于对信号进行压缩和编码,以便于信号的传输和存储。
然而,频域采样也存在一些缺点。
首先,傅里叶变换需要将信号从时域转换到频域,这需要使用复杂的数学运算和计算。
其次,频域采样的结果通常需要经过逆傅里叶变换才能得到原始信号的离散时间表示,这同样需要复杂的数学运算和计算。
此外,频域采样的结果可能存在频率混叠和泄漏现象,这会影响到重建出的原始信号的质量。
数字信号处理实验二
实验二 快速傅里叶变换(FFT)及其应用一、思考题(1) 实验中的信号序列()c x n 和()d x n 在单位圆上的z 变换频谱()()c j j d X e X e ωω和会相同吗如果不同,说出哪一个低频分量更多一些,为什么答:设j Z r e ω=⨯ ()()n n G z g n z ∞-=-∞=⨯∑因为为单位圆,故r=1.因为()()j j n n G e g n eωω∞-=-∞=⨯∑,故3723456704()(8)23432j j n j n j j j j j j j c n n X e nen e e e e e e e e ωωωωωωωωωω---------===+-=++++++∑∑ 7235670()(4)43223j j n j j j j j j d n X e n ee e e e e e ωωωωωωωω-------==-=+++---∑比较可知频谱不相同,()c X n 的低频分量多。
(2) 对一个有限长序列进行DFT 等价于将该序列周期延拓后进行DFS 展开,因为DFS 也只是取其中一个周期来运算,所以FFT 在一定条件下也可以用以分析周期信号序列。
如果实正弦信号()sin(2),0.1x n fn f π== 用16点FFT 来做DFS 运算,得到的频谱是信号本身的真实谱吗为什么答:针对原来未经采样的连续时间信号来说,FFT 做出来的永远不会是信号本身的真实频谱,只能够是无限接近。
FFT 频谱泄露问题是一定会存在的,因为毕竟采样率再高,也不能完全达到原来的连续时间信号准确。
原题的采样率是1/10,就是将2*pi 分成10份,即每个正弦波周期进行10次采样,这样的采样率很低,而最后你只截取16个点来做分析,泄露一般会挺严重,看到的频谱,应该是一个上头尖,下面慢慢变宽的尖锥形,而纯正的正弦波的理想频谱应该是在某频点只有一个尖峰。
二.?实验原理:?(1)混叠:采样序列的频谱是被采样信号频谱的周期延拓,当采样频率不满足奈奎斯特采样定理的时候,就会发生混叠,使得刺痒后的序列信号的频谱不能真实的反映原采样信号的频谱。
数字信号处理实验02
实验二2019年11月16日一、实验目的(1)通过实验进一步理解卷积定理,了解卷积的过程。
(2)掌握应用线性卷积求解离散时间系统响应的基本方法。
(3)加深对离散LSI系统时域特性的认识。
(4)掌握MATLAB求解离散时间系统相应的基本方法。
(5)了解MATLAB中求解系统响应的子函数及其应用方法。
(6)加深对离散系统变换域分析——z变换的理解。
(7)掌握进行z变换和z反变换的基本方法,了解部分分式法在z反变换中的应用。
(8)掌握使用MATLAB语言进行z变换和z反变换的常用子函数。
(9)了解离散系统的基本描述模型。
(10)掌握各种模型相互间的关系及转换方法。
(11)熟悉MATLAB中进行离散系统模型间转换的常用子函数。
二、实验用到的MATLAB函数(1)conv 进行两个序列间的卷积运算。
(2)sum 求各元素之和。
(3)hold 控制当前图形是否刷新的双向切换开关。
(4)pause 暂停执行文件。
(5)dlsim 求解离散系统的响应。
(6)ztrans 返回无限长序列函数x[n]的z变换。
(7)iztrans 求函数X(z)的z反变换x[n]。
(8)syms 定义多个符号变量。
(9)residuez 有理多项式的部分分式展开。
(10)tf2zp 将系统传递函数(tf)模型转换为系统函数的零-极点增益(zpk)模型。
(11)zp2tf 将系统函数的零-极点增益(zpk)模型转换为系统传递函数(tf)模型。
(12)tf2sos 将系统传递函数(tf)模型转换为系统函数的二次分式(sos)模型。
(13)sos2tf 将系统函数的二次分式(sos)模型转换为系统传递函数(tf)模型。
(14)sos2zp 将系统函数的二次分式(sos)模型转换为系统函数的零-极点增益(zpk)模型。
(15)zp2sos 将系统函数的零-极点增益(zpk)模型转换为系统函数的二次分式(sos)模型。
(16)ss2tf 将系统状态空间(ss)模型转换为系统传递函数(tf)模型。
数字信号处理第二次实验报告
2
% 设计Butterworth低通模拟滤波器 % 通带衰减小于1分贝、阻带(>0.6pi)衰减大于25分贝 % n: 阶数 % wn:低通模拟滤波器的3分贝通带截止频率 [B1,A1] = BUTTER(n,wn,'s'); % 设计Butterworth低通模拟滤波器 % B,A:模拟滤波器传递函数分子、分母多项式系数 [b1,a1]=impinvar(B1,A1,fs); % 用脉冲响应不变法将模拟低通滤波器转换为数字滤波器b,a:分子、分母多项式系 数 % 双曲变换的预畸变 [B2,A2]=butter(n,2000*tan(pi/5),'s'); % 用双曲变换法将模拟低通滤波器转化为数字滤波器b,a:分子,分母多项式系数 [b2,a2]=bilinear(B2,A2,fs);
(3) 熟悉巴特沃思滤波器,切比雪夫滤波器和椭圆滤波器的频率特性。
二. 实验原理:
(1) 实验中有关变量的定义:fc 通带边界频率ห้องสมุดไป่ตู้fr 阻带边界频率,tao 通带波动,at 最 小阻带衰减,fs 采样频率,t 采样周期。
(2) 设计一个数字滤波器一般包括以下两步: a.按照任务要求,确定滤波器性能指标 b.用一个因果稳定的离散时不变系统的系统函数去逼近这一性能要求
姓名:陈桐 学号:04004316
实验日期:2006 年 11 月 14 日
一. 实验目的:
(1) 掌握双线形变换法及脉冲响应不变法设计 IIR 数字滤波器的具体设计方法及其原理, 熟悉用双线形变换法及脉冲响应不变法设计低通,高通和带通 IIR 数字滤波器的计 算机编程。
(2) 观察双线形变换法及脉冲响应不变法设计的滤波器的频域特性,了解双线形变换法 及脉冲响应不变法的特点。
数字信号处理--实验二_求线性时不变系统的输出
学生实验报告开课学院及实验室: 电子楼317 2013年 3 月18 日学院机械与电气工程学院年级、专业、班姓名学号 实验课程名称 数字信号处理实验成绩 实验项目名称实验二 求线性时不变系统的输出指导老师一、实验目的1. 学习用递推法求解差分方程的方法。
2. 学习用线性卷积法求网络输出的方法。
二、实验原理已知()h n 和输入()x n ,求系统输出()y n ,也可以用线性卷积法进行。
线性卷积法的公式如下:()()()y n x n h n =* ()()m x m h n m ∞=-∞=-∑图2.1 用递推法求解差分方程的框图计算时,关键问题是根据()x n 和()h n 的特点,确定求和的上下限。
例如,()0.9()nh n u n =,10()()x n R n =,卷积公式为10()()0.9()n m m y n R m u n m ∞-=-∞=-∑根据上式中的10()R n ,限制非零区间为:09m ≤≤,由()u n 限制非零区间为:m n ≤。
由上面的不等式知道m 的取值和n 有关,可以分几种情况: 当n <0时,()0y n =当0n ≤<9时,()0.9nn m m y n -==∑当9n ≥时,9()0.9n m m y n -==∑最后得到:再用计算机计算()y n 。
如果给定的()x n 和()h n 是一些离散数据,更方便的是用MATLAB 语言的数字信号工具箱函数conv 计算两个n 的取值从零开始的有限长序列的线性卷积。
三、使用仪器、材料1、硬件:计算机2、软件:Matlab四、实验步骤1.已知系统的差分方程如式:()0.9(1)()y n y n x n =-+(1) 输入信号=10()()x n R n =,初始条件(1)1y -=,求解输出()y n ; (2) 输入信号=10()()x n R n =,初始条件(1)0y -=,求解输出()y n 。
北京邮电大学数字信号处理实验二
北京邮电⼤学数字信号处理实验⼆数字信号处理实验⼆XX 班 XX XX⼀.实验要求: (1) 假设信号 x(n) 由下述信号组成:这个信号有两根主谱线 0.3pi 和 0.302pi 靠的⾮常近,⽽另⼀根谱线0.45pi 的幅度很⼩,请选择合适的长度 N 和窗函数,⽤ DFT 分析其频谱,得到清楚的三根谱线。
(2) 已知: N=25。
这⾥ Q=0.9+j0.3。
可以推导出,⾸先根据这个式⼦计算 X(k) 的理论值,然后计算输⼊序列 x(n) 的 32 个值,再利⽤基 2 时间抽选的 FFT 算法,计算 x(n) 的 DFT X(k),与 X(k) 的理论值⽐较(要求计算结果最少 6 位有效数字)。
⼆.实验分析:(1)本实验可使⽤matlab 中⾃带的fft 函数求得x(n)的傅⾥叶变换,难点在于选择合适的N 值以及清楚的谱线。
a.对于N 值的选择,由于x (n )中包含的三个分量的周期分别为2*pi/0.45*pi=40/9,2*pi/0.3pi=20/3,2*pi/0.302pi=1000/151,x (n )的周期为1000,为得到清晰的谱线,选取N=1000,则Wk=2*pi*k/1000;所以三条谱线的k1=450,k2=300,k3=302;b.在使谱线清洗时,只需利⽤axis 选取合适的窗函数即可。
(2)本实验即为要求先利⽤25点DFT 的定义计算求得其25点DFT ,再利⽤基2-FFT 算法求得其DFT ,并且将两者进⾏⽐较。
三.实验内容的实现(1)A.代码:n=0:1:999; xn=0.001*cos(0.45*pi*n)+sin(0.3*pi*n)-cos(0.302*pi*n); yn=fft(xn,1000);%对xn 进⾏1000点DFTk1=0:1:499;wk=2*pi/1000*k1;y1=yn(1:1:500);%由于镜像对称只需看⼀半即可 subplot(3,1,1);stem(wk/pi,abs(y1));title('Samples of DTFT Magnitude');xlabel('frequency in pi units');axis([0,1,0,600]);subplot(3,1,2);stem(wk/pi,abs(y1));axis([0.25,0.35,0,600]);%观察300,302处的谱线subplot(3,1,3);stem(wk/pi,abs(y1));axis([0.4,0.5,0,1]);%观察450处谱线B.结果如图: 1()(N n X k x n -==∑00010450303024().*cos(.)sin(.)cos(.)x n n n n ππππ=+--(2)A.代码:format longQ=0.9+0.3i;n=0:24;x=Q.^n;y1=(1-Q^25)./(1-Q.*exp(-j*2*pi*n/25)); %根据公式计算25点DFTx2=[x,0,0,0,0,0,0,0];y2=fft(x2);%使⽤基2FFT算法计算n2=0:1:31;for(m=1:25)y3(m)=y1(m)-y2(m);end;subplot(3,1,1);stem(n,abs(y1));axis([0,32,0,15]);title('N=25 DFT');xlabel('n');subplot(3,1,2);stem(n2,abs(y2));axis([0,32,0,15]);title('N=32 FFT');xlabel('n');subplot(3,1,3);stem(m,abs(y3));axis([0,25,0,15]);title('误差');xlabel('n');B.结果:a.误差序列:y3 =Columns 1 through 2-0.000000000000000 - 0.000000000000000i 5.817439454324326 -0.941040324114136iColumns 3 through 4-9.272989245757216 + 1.806567024126041i -1.055728571003527 + 0.006165567483396i Columns 5 through 60.109680274228142 + 0.312117411678918i -0.132227359831744 + 0.656545304970248i Columns 7 through 8-0.491115210532073 + 0.330164381661244i -0.302355254463930 - 0.104401629339881i Columns 9 through 100.071488794285995 - 0.066464473299359i 0.078075844225558 + 0.210934398903539i Columns 11 through 12-0.161974868948978 + 0.209654292048469i -0.176095334975308 - 0.034516239063079i Columns 13 through 140.060246199972530 - 0.092272809496693i 0.154494521140728 + 0.108487641370809i Columns 15 through 16-0.006434841285029 + 0.208660575204784i -0.095307033403866 + 0.059377350932753i Columns 17 through 180.068999600677699 - 0.043113757045075i 0.222166621724661 + 0.111157325552887i Columns 19 through 200.130789688425025 + 0.289360758130739i 0.001288211584027 + 0.236449*********i Columns 21 through 220.118110781165706 + 0.132488509392841i 0.344473749291525 + 0.292907236433923i Columns 23 through 240.363759326481941 + 0.632526704462872i 0.268854435642791 + 0.852006047941478i Column 250.501096763217777 + 1.111762593982078ib.DFT 基2-FFT 误差序列的频谱。
数字信号处理实验实验二离散时间傅里叶变换.wps
实验二 离散时间傅里叶变换一、实验原理经由正、逆离散时间傅里叶变换表达的傅里叶表示式是信号分析的一个关键部分,下面是分析方程与综合方程。
∑∞-∞=-=n n j j e n x e X ωω][)( ωπππωωd e e X n X n j j ⎰-=)(21][由以上公式知,离散时间傅里叶变换是w 的周期复值函数,周期是π2, 并且周期常选为[-π, π].对离散时间傅里叶变换有两个问题:(1) DTFT 的定义对无限长信号是有效的。
(2) DTFT 是连续变量的ω函数。
第二个问题是频率抽样问题。
Matlab 擅长在有线网格点上计算DTFT 。
通常选择足够多的频率以使绘出的图平滑,逼近真实的DTFT 。
对计算有利的最好选择是在(-π,π)区间上一组均匀的隔开的频率,或者共轭对称变换选择【0,π】,采用上述抽样方法,DTFT 式变为1,...,1,0,][)()(10/2(/2-===∑-=-N k en x e X e X L n N k j N k j j n k )ππω在对DTFT 进行抽样时,并不要求N=L ,尽管通常由DFT 进行计算时,如果N=L 计算很方便。
1. 实验内容(1) asic 的m 文件编写一个matlab 文件如asic (w ,L ),之间从式中计算在频格上的asinc (w ,L ),该函数有两个输入:L 和W ,函数必须检查被0除的情形。
直接计算混叠sinc 函数得到脉冲信号DTFT 绘出幅度,保存该图以便与dtft 得到的结果比较。
程序:函数文件是function a=asinc(w,L)if (w==0)a=L;else a=sin(1/2*w*L)/sin(1/2*w);end当输入asinc(0,2)ans =2混叠程序function a=L(m);w=-pi:pi/50:pi;b=sin(1/2*w*m)./sin(1/2*w);c=exp(-j*w*(m-1)/2);R=b.*c;plot(w,abs(R))Grid当输入L(8)有而dtft程序是function[H,W]=dtft(h,N)%DTFT calculate DTFT at N equally spaced frequencies %Usage%[H,W]=dtft(h,N)%h:finite-length input vector,whose length is L%N:nambei of frequencies for evaluation over [-pi,pi) %==>constraint:n>=L%H:DTFT values(complex)%W:(2nd output)vector of freqs where DTFT is computed %N=fix(N);L=length(h);h=h(:);if(N<L)error('DTFT:#data samples cannot exceed #freq samples')endW=(2*pi/N)*[0:(N-1)]';mid=ceil(N/2)+1;W(mid:N)=W(mid:N)-2*pi;W=fftshift(W);H=fftshift(fft(h,N));当输入n=0:7;r=ones(8,1);r(1)=1[X,W]=dtft(r,128);plot(W,abs(X))grid有结果分析:两种方法得到的图形基本一致,证明了公式的真确性。
数字信号处理实验二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.设周期序列某(n)={…,0,1,2,3,0,1,2,3,0,1,2,3,….},求该序列的离散傅立叶级数某",(k)=DFS[某(n)],并画出DFS的幅度特性。
在matlab中新建函数df:function[某k]=df(某n,N)n=0:1:N-1;k=0:1:N-1;Wn=e某p(-j某2某pi/N);nk=n'某k;Wnk=Wn.^nk;某k=某n某Wnk;~~在matlab中输入以下代码:某n=[0,1,2,3];k=0:1:3;N=4;-1-某k=df(某n,N);y=ab(某k);tem(k,y);title('周期序列的离散傅立叶级数');生成图像如下:由定义可知,对于周期序列,根据离散傅里叶级数公式即可求出,实验中显示了一个周期的傅里叶级数。
b.设周期方波序列为某(n)=1(mNnmNL-1)(m=0,1,2,....)0(mNLn(m1)N-1)其中N为基波周期,L/N是占空比。
(1)用L和N求|某",(k)|的表达式;(2)当L和N分别为:L=5,N=20;L=5,N=40;L=5,N=60以及-2-L=7,N=60时画出DFS的幅度谱;(3)对以上结果进行讨论,总结其特点和规律。
数字信号处理实验二时域采样和频域采样
实验二-时域采样和频域采样一、实验目的时域采样理论与频域采样理论是数字信号处理中的重要理论。
要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。
二、实验原理及方法1、时域采样定理的要点:a)对模拟信号)(t x a 以间隔T 进行时域等间隔理想采样,形成的采样信号的频谱)(ˆΩj X 是原模拟信号频谱()aX j Ω以采样角频率s Ω(T s /2π=Ω)为周期进行周期延拓b)采样频率s Ω必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。
利用计算机计算上式并不方便,下面我们导出另外一个公式,以便用计算机上进行实验。
2、频域采样定理的要点:a)对信号x(n)的频谱函数X(ej ω)在[0,2π]上等间隔采样N 点 则N 点IDFT[()N X k ]得到的序列就是原序列x(n)以N 为周期进行周期延拓后的主值区序列。
三、实验内容及步骤1、时域采样理论的验证程序:clear;clcA=444.128;a=50*sqrt(2)*pi;w0=50*sqrt(2)*pi;Tp=50/1000;F1=1000;F2=300;F3=200;T1=1/F1;T2=1/F2;T3=1/F3;n1=0:Tp*F1-1;n2=0:Tp*F2-1;n3=0:Tp*F3-1;x1=A*exp(-a*n1*T1).*sin(w0*n1*T1);x2=A*exp(-a*n2*T2).*sin(w0*n2*T2);x3=A*exp(-a*n3*T3).*sin(w0*n3*T3);f1=fft(x1,length(n1));f2=fft(x2,length(n2)); %f3=fft(x3,length(n3)); %k1=0:length(f1)-1;fk1=k1/Tp; %k2=0:length(f2)-1;fk2=k2/Tp; % k3=0:length(f3)-1;fk3=k3/Tp; % subplot(3,2,1)stem(n1,x1,'.')title('(a)Fs=1000Hz');xlabel('n');ylabel('x1(n)');subplot(3,2,3)stem(n2,x2,'.')title('(b)Fs=300Hz');xlabel('n');ylabel('x2(n)');subplot(3,2,5)stem(n3,x3,'.')title('(c)Fs=200Hz');xlabel('n');ylabel('x3(n)');subplot(3,2,2)plot(fk1,abs(f1))title('(a) FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('·ù¶È')subplot(3,2,4)plot(fk2,abs(f2))title('(b) FT[xa(nT)],Fs=300Hz'); xlabel('f(Hz)');ylabel('·ù¶È')subplot(3,2,6)plot(fk3,abs(f3))title('(c) FT[xa(nT)],Fs=200Hz'); xlabel('f(Hz)');ylabel('·ù¶È')结果分析:由图2.2可见,采样序列的频谱的确是以采样频率为周期对模拟信号频谱的周期延拓。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告(本科)学号 2015141443002姓名柏冲专业通信工程日期 2017/12/4实验题目时域采样和频域采样一、实验目的时域采样理论与频域采样理论是数字信号处理中重要的理论。
要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使得采样后的信号不丢失信息;要求掌握频率采样会引起时域周期化的概念,以及频域采样定理及其对频域采样点数选择的指导作用。
二、实验过程附:源程序(1)时域采样Tp=64/1000; %观察时间Tp=64毫秒%产生M长采样序列x(n)Fs=1000; T=1/Fs;M=Tp*Fs; n=0:M-1;A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5;xnt=A*exp(-a*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M); %M点FFT[(xnt)]subplot(3,2,1);stem(xnt,'.'); %调用编绘图函数stem绘制序列图box on;title('(a) Fs=1000Hz');k=0:M-1;fk=k/Tp;subplot(3,2,2);stem(fk,abs(Xk),'.');title('(a) T*FT[xa(nT)],Fs=1000Hz');xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]);% Fs=300Hz和 Fs=200Hz的程序与上面Fs=1000Hz完全相同。
Tp=64/1000; %观察时间Tp=64毫秒%产生M长采样序列x(n)Fs=300; T=1/Fs;M=Tp*Fs; n=0:M-1;A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5;xnt=A*exp(-a*n*T).*sin(omega*n*T);M1=fix(M);Xk=T*fft(xnt,M1); %M点FFT[(xnt)]subplot(3,2,3);stem(xnt,'.'); %调用自编绘图函数stem绘制序列图box on;title('(b) Fs=300Hz');k=0:M-1;fk=k/Tp;subplot(3,2,4);stem(fk,abs(Xk),'.');title('(b) T*FT[xa(nT)],Fs=300Hz');xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]);Tp=64/1000; %观察时间Tp=64毫秒%产生M长采样序列x(n)Fs=200; T=1/Fs;M=Tp*Fs; n=0:M-1;A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5;xnt=A*exp(-a*n*T).*sin(omega*n*T);M2=fix(M);Xk=T*fft(xnt,M2); %M点FFT[(xnt)]yn='xa(nT)';subplot(3,2,5);stem(xnt,'.'); %调用自编绘图函数stem绘制序列图box on;title('(c) Fs=200Hz');k=0:M-1;fk=k/Tp;subplot(3,2,6);stem(fk,abs(Xk),'.');title('(c) T*FT[xa(nT)],Fs=200Hz');xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]);程序运行结果(2)频域采样M=27;N=32;n=0:M-1;%产生M长三角波序列x(n)xa=1:ceil(M/2); xb= fix(M/2):-1:1; xn=[xa,xb];Xk=fft(xn,1024); %1024点FFT[x(n)], 用于近似序列x(n)的FtX32k=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:1023;wk=2*k/1024; %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 on;title('(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])程序运行结果三、问题分析(思考题以及老师提问)(1)如果序列x(n)的长度为M,希望得到其频谱X(ejω)在]2,0[N点等间隔采样,当N<M时,如何用一次最少点数的DFT得到该频谱采样?先对原序列x(n)以N为周期进行周期延拓后取主值区序列,xN(n)=[∑x(n+iN)]RN(n)再计算N点DFT则得到N点频域采样四、实验总结本次实验总体来说比较简答关键是要深入理解频域采样和时域采样的特点和要求,,频域采样的采样频率要大于原信号的最大频率的两倍,否则采样出来的信号是没有办法不失真的还原成原来的信号,上面的16点的IDFT可以很容易的看出该信号已经失真。
而对于时域采样,则要求采样点数N要大于离散信号的长度M,否则就会发生时域混叠。
一、实验目的学习用FFT对连续信号和时城高散信号进行谱分析的方法,了解可能出现的分后间差及其原因,以便正确应用FFT.二、实验原理用FFT对信号作频谱分析是学习数字信号处理的重要内容,经常需要进行谱分析的信号是模拟信号和时城离散信号。
对信号进行谱分析的重要问题是频谱分辨率D和分析误差。
频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2π/N,因此要求2π/N≤D。
可以根据此式选择FFT的变换区间N。
误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时,离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
三、实验过程附:绘图函数mstemfunction mstem(Xk)M=length(Xk);k=0:M-1;wk=2*k/M;stem(wk,abs(Xk),'.');box on;xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(Xk))]);对三信号进行频谱分析x1n=[ones(1,4)];%产生序列向量x1(n)=R4(n)?M=8;xa=1:(M/2);xb=(M/2):-1:1;x2n=[xa,xb];%产生长度为8的三角波序列x2(n)? x3n=[xb,xa];X1k8=fft(x1n,8);%计算x1n的8点DFT?X1k16=fft(x1n,16);%计算x1n的16点DFT?X2k8=fft(x2n,8);%计算x1n的8点DFT?X2k16=fft(x2n,16);%计算x1n的16点DFT?X3k8=fft(x3n,8);%计算x1n的8点DFT?X3k16=fft(x3n,16);%计算x1n的16点DFT?%以下绘制幅频特性曲线?subplot(3,2,1);?subplot(3,2,1);mstem(X1k8);%绘制8点DFT的幅频特性图title('(1a)8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X1k8))])subplot(3,2,2);mstem(X1k16);%绘制16点DFT的幅频特性图?title('(1b)16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X1k16))])subplot(3,2,3);mstem(X2k8);%绘制8点DFT的幅频特性图?title('(2a)8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X2k8))])subplot(3,2,4);mstem(X2k16);%绘制16点DFT的幅频特性图?title('(2b)16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X2k16))])subplot(3,2,5);mstem(X3k8);%绘制8点DFT的幅频特性图?title('(3a)8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X3k8))])subplot(3,2,6);mstem(X3k16);%绘制16点DFT的幅频特性图?title('(3b)16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X3k16))])N=8;n=0:N-1;%FFT的变换区间N=8?x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k8=fft(x4n,8);%计算x4n的8点DFTX5k8=fft(x5n,8);%计算x5n的8点DFTN=16;n=0:N-1;%FFT的变换区间N=16?x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k16=fft(x4n,16);%计算x4n的16点DFT?X5k16=fft(x5n,16);%计算x5n的16点DFT?subplot(2,2,1);mstem(X4k8);%绘制8点DFT的幅频特性图?title('(a)8点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X4k8))])subplot(2,2,3);mstem(X4k16);%绘制16点DFT的幅频特性图?title('(b)16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X4k16))])subplot(2,2,2);mstem(X5k8);%绘制8点DFT的幅频特性图?title('(a)8点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X5k8))])subplot(2,2,4);mstem(X5k16);%绘制16点DFT的幅频特性图?title('(b)16点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X5k16))])Fs=64;T=1/Fs;N=16;n=0:N-1;%FFT的变换区间N=16?x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)16点采样?X6k16=fft(x6nT);%计算x6nT的16点DFT?X6k16=fftshift(X6k16);%将零频率移到频谱中心?Tp=N*T;F=1/Tp;%频率分辨率F?k=-N/2:N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)? subplot(3,1,1);stem(fk,abs(X6k16),'.');box on%绘制8点DFT的幅频特性图? title('(6a)16点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])N=32;n=0:N-1;%FFT的变换区间N=16?x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)32点采样?X6k32=fft(x6nT);%计算x6nT的32点DFT?X6k32=fftshift(X6k32);%将零频率移到频谱中心?Tp=N*T;F=1/Tp;%频率分辨率F?k=-N/2:N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)? subplot(3,1,2);stem(fk,abs(X6k32),'.');box on%绘制8点DFT的幅频特性图? title('(6b)32点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))])N=64;n=0:N-1;%FFT的变换区间N=16?x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)64点采样?X6k64=fft(x6nT);%计算x6nT的64点DFTX6k64=fftshift(X6k64);%将零频率移到频谱中心?Tp=N*T;F=1/Tp;%频率分辨率F?k=-N/2:N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)?subplot(3,1,3);stem(fk,abs(X6k64),'.');box on%绘制8点DFT的幅频特性图?title('(6a)64点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))])四、问题分析(思考题以及老师提问)(1)对于周期序列。