数字信号处理实验报告 (2)
数字信号处理实验报告(实验二)

实验二 时域采样与频域采样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 得到该频谱采样?答:将长序列分段分段计算,这种分段处理方法有重叠相加法和重叠保留法两种。
数字信号处理实验报告 (2)

实验一信号、系统及系统响应一、实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定的理解。
2、熟悉时域离散系统的时域特性。
3、利用卷积方法观察分析系统的时域特性。
4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
二、实验原理采样的的过程既是连续信号离散化的过程。
采用单位冲击串进行采样,为使采样信号能不失真的还原为采样前的信号,根据奈奎斯特采样率,采样频率应该大于信号最高频率的2倍。
因为时域的采样既是对时域的离散化处理,时域离散频域会进行周期延拓,为了防止频域频谱混叠,必须满足奈奎斯特采样定律。
线性卷积的过程为:反褶,移位,相乘,相加。
设一个N1点的序列与一个N2的序列进行卷积则得到N1+N2-1点的序列。
时域卷积,对应频域的相乘。
序列的傅里叶变换即DTFT 。
具有的性质有: 线性,移位性,对偶性,等等。
三、实验内容及步骤1)分析采样序列的特性。
产生采样序列()a x n ,A 444.128=,a =,0Ω=。
a 、 取采样频率s f 1kHz =,即T 1ms =。
观察所采样()a x n 的幅频特性()j X e ω和)(t x a 的幅频特性()X j Ω在折叠频率处有无明显差别。
应当注意,实验中所得频谱是用序列的傅立叶变换公式求得的,所以在频率量度上存在关系:T ω=Ω。
b 、改变采样频率,s f 300Hz =,观察()j X eω的变化并做记录。
c 、 进一步降低采样频率,s f 200Hz =,观察频谱混叠是否明显存在,说明原因,并记录()j X e ω的幅频曲线。
上图是采用不同采样频率时所得到的序列及其对应的傅里叶变换,从图中可以看到,当采样频率比较低时,频谱会发生混叠,且频率越低,混叠现象越明显。
增大采样频率可以有效地防止混叠。
2) 离散信号、系统和系统响应分析。
a 、观察信号()b x n 和系统h ()b n 的时域和频域持性;利用线形卷积求信号()b x n 通过系统h ()b n 的响应y(n),比较所求响应y(n)和h ()b n 的时域及频域特性,注意它们之间有无差异,绘图说明,并用所学结论解释所得结果。
数字信号处理实验报告(二)

数字信号处理第二次实验报告学院:信息工程学院班级:2012级电子信息工程*班姓名:学号:20125507**指导老师:实验四:IIR数字滤波器设计及软件实现一、实验目的1、熟悉双线性变换设计IIR滤波器的原理与方法2、掌握IIR滤波器的MATLAB实现方法二、实验原理简述IIR数字滤波器间接法基本设计过程:1、将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;2、设计过渡模拟滤波器;3、将过渡模拟滤波器系统函数转换成数字滤波器的系统函数三、程序与图形1、%-----------------信号产生函数mstg---------------function st=mstg %功能函数的写法%产生信号序列向量st,并显示st的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600N=1600 %N为信号st的长度。
Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10; %第1路调幅信号的载波频率fc1=1000Hz,fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hzfc2=Fs/20; %第2路调幅信号的载波频率fc2=500Hzfm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hzfc3=Fs/40; %第3路调幅信号的载波频率fc3=250Hz,fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号st=xt1+xt2+xt3; %三路调幅信号相加fxt=fft(st,N); %计算信号st的频谱%-------绘制st的时域波形和幅频特性曲线-----subplot(2,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')subplot(2,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱') axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')-10123t/ss (t )(b) s(t)的频谱f/Hz幅度2、%-------实验4-2--------- clear all;close allFs=10000;T=1/Fs; %采样频率%调用信号产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st st=mstg;fp=280;fs=450; %下面wp,ws,为fp,fs 的归一化值范围为0-1wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF 指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord 计算椭圆DF 阶数N 和通带截止频率wp[B,A]=ellip(N,rp,rs,wp); %调用ellip 计算椭圆带通DF 系统函数系数向量B 和A[h,w]= freqz(B,A);y1t=filter(B,A,st); %滤波器软件实现 figure(2);subplot(2,1,1); plot(w,20*log10(abs(h))); axis([0,1,-80,0]) subplot(2,1,2);t=0:T:(length(y1t)-1)*T; plot(t,y1t);%axis([0,1,-80,0])-10123t/ss (t )(b) s(t)的频谱f/Hz幅度-80-60-40-20000.020.040.060.080.10.120.140.16-1-0.500.511.53、%-------实验4-3---------fpl=440;fpu=560;fsl=275;fsu=900;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord 计算椭圆DF 阶数N 和通带截止频率wp[B,A]=ellip(N,rp,rs,wp); %调用ellip 计算椭圆带通DF 系统函数系数向量B 和A[h,w]= freqz(B,A); y2t=filter(B,A,st);figure(3);subplot(2,1,1);plot(w,20*log10(abs(h))); axis([0,1,-80,0]) subplot(2,1,2);t=0:T:(length(y2t)-1)*T; plot(t,y2t);00.20.40.60.81-80-60-40-20000.020.040.060.080.10.120.140.16-2-10124、%-------实验4-4--------- fp=900;fs=550;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF 指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs);%调用ellipord 算椭圆DF 阶数N 通带截止频率 [B,A]=ellip(N,rp,rs,wp,'high'); %调用ellip 计算椭圆带通DF 系统函数系数向量B 和A[h,w]= freqz(B,A); y3t=filter(B,A,st);figure(4);subplot(2,1,1); plot(w,20*log10(abs(h))); axis([0,1,-80,0]) subplot(2,1,2);t=0:T:(length(y3t)-1)*T; plot(t,y3t);-80-60-40-20000.020.040.060.080.10.120.140.16-2-1012四、实验结果分析由图可见,三个分离滤波器指标参数选取正确,损耗函数曲线达到所给指标。
数字信号处理实验报告

数字信号处理实验报告黎美琪通信一、实验名称:(快速傅里叶变换)的探究二、实验目的.学习理解的基本实现原理(注:算法主要有基时间抽取法和基频域抽取法,此实验讨论的是基频率抽取算法,课本上主要讲解的是基时间抽取算法).编写代码实现基频率抽取算法三、实验条件机四、实验过程(一)基础知识储备.基频率抽取( )算法基本原理:输入[]前后分解,输出[]奇偶分解。
设序列的点数为^,为整数(公式中的、定义不一样,打印后统一改正)将输入的[]按照的顺序分成前后两段:对输出的[]进行奇偶分解()、()和()之间可以用下图所示的蝶形运算符表示:的一次分解流图:的二次分解流图:最后完整的分解流图(^一共分解了三次):的运算过程规律。
)^点的共进行级运算,每级由个蝶形运算组成。
同一级中,每个蝶形的两个输入数据只对计算本蝶形有用,而且每个蝶形的输入、输出数据结点又同在一条水平线上,也就是说计算完一个蝶形后,所得输出数据可立即存入原输入数据所占用的存储单元。
这样,经过级运算后,原来存放输入序列数据的个存储单元中便依次存放()的个值。
(注:这种利用同一存储单元存储蝶形计算输入、输出数据的方法称为原位计算。
原位计算可节省大量内存,从而使设备成本降低。
))旋转因子的变化规律 :以点的为例,第一级蝶形,,,,;第二级蝶形,;第三级的蝶形,。
依次类推,对于级蝶形,旋转因子的指数为∙^(−),,,,,……,^()这样就可以算出每一级的旋转因子。
)蝶形运算两节点之间的“距离” :第一级蝶形每个蝶形运算量节点的“距离”为,第二级每个蝶形运算另节点的“距离”为,第三级蝶形每个蝶形运算量节点的“距离”为。
依次类推:对于等于的次方的,可以得到第级蝶形每个蝶形运算量节点的“距离”为的次方。
.旋转因子 的性质1) 周期性 2) 对称性mk N N mk N W W -=+2 )可约性为整数/,//n N W W n mk n N mk N =.频率抽取()基算法和时间抽取()基算法比较:两种算法是等价的,其相同之处:()与两种算法均为原位运算。
数字信号处理实验报告

数字信号处理实验报告实验一:混叠现象的时域与频域表现实验原理:当采样频率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

数字信号处理实验2 ——离散系统频率响应和零极点分布姓名:李倩学号:班级:通信四班指导教师:周争一.实验原理离散时间系统的常系数线性差分方程:求一个系统的频率响应:H(e^jw)是以2pi为周期的连续周期复函数,将其表示成模和相位的形式:H(e^jw)=|H(e^jw)|*e^(jarg[H(e^jw)])其中|H(e^jw)|叫做振幅响应(幅度响应),频率响应的相位arg[H(e^jw)]叫做系统的相位响应。
将常系数线性差分方程的等式两边求FT,可以得到系统的频率响应与输入输出的频域关系式:H(e^jw)=Y(e^jw)/X(e^jw)将上式中的e^jw用z代替,即可得系统的系统函数:H(z)=Y(z)/X(z)H(z)=∑h(n)*z^(-n)(n的取值从负无穷到正无穷)将上式的分子、分母分别作因式分解,可得到LTI系统的零极点增益表达式为:H(z)=g∏(1-zr*z^(-1))/∏(1-pk*z^(-1))其中g为系统的增益因子,pk(k=1,2,3,…,N)为系统的极点,zr(r=1,2,3,…,M)为系统的零点。
通过系统的零极点增益表达式,可以判断一个系统的稳定性,对于一个因果的离散时间系统,若所有的极点都在单位圆内,则系统是稳定的。
二.实验内容一个LTI离散时间系统的输入输出差分方程为y(n)-1.6y(n-1)+1.28y(n-2)=0.5x(n)+0.1x(n-1)(1)编程求此系统的单位冲激响应序列,并画出其波形。
(2)若输入序列x(n)=&(n)+2&(n-1)+3&(n-2)+4&(n-3)+5&(n-4),编程求此系统输出序列y(n),并画出其波形。
(3)编程得到系统频响的幅度响应和相位响应并画图。
(4)编程得到系统的零极点分布图,分析系统的因果性和稳定性。
三.程序与运行结果(1)编程求此系统的单位冲激响应序列,并画出其波形。
程序:clear;N=100;b=[0.5 0.1];a=[1 -1.6 1.28];h1=impz(b,a,N); %计算系统的冲激响应序列的前N个取样点x1=[1 zeros(1,N-1)]; %生成单位冲激序列h2=filter(b,a,x1); %计算系统在输入单位冲激序列时的输出subplot(2,1,1);stem(h1);xlabel('时间序号n');ylabel('单位冲激响应序列值');title('单位冲激响应序列h1(n)');subplot(2,1,2);stem(h2);xlabel('时间序号n');ylabel('单位冲激响应序列值');title('单位冲激响应序列h2(n)');运行结果:0102030405060708090100-10125时间序号n单位冲激响应序列值单位冲激响应序列h1(n)0102030405060708090100-10125时间序号n单位冲激响应序列值单位冲激响应序列h2(n)结果说明:可以用impz 函数直接求出系统的单位冲激响应序列,也可输入单位冲激序列,用filter 函数求出系统的单位冲激响应序列,两者求得的结果相同。
数字信号处理实验报告一二

数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的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. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
(完整版)数字信号处理实验二

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('振幅');
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验快速傅里叶变换实验姓名班级学号日期 2011.10.25实验名称 快速傅里叶变换一.实验目的1 在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解;2 熟悉并掌握按时间抽取FFT 算法的程序;3 了解应用FFT 进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、栅栏效应等,以便在实际中正确应用FFT 。
二.实验要求1 记录下实验内容中各种情况下的X (k)值,做出频谱图并深入讨论结果,说明参数的变化对信号频谱产生哪些影响。
频谱只做模特性,模的最大值=1,全部归一化;2 打印出用C 语言(或MA TLAB 语言)编写的FFT 源程序,并且在每一小段处加上详细的注释说明;3 用C 语言(或MATLAB 语言)编写FFT 程序时,要求采用人机界面形式:N , T , f 变量均由键盘输入,补零或不补零要求设置一开关来选择。
三.实验内容1.仔细分析教材第六章‘时间抽取法FFT ’的算法结构,编制出相应的用FFT 进行信号分析的C 语言(或MATLAB 语言)程序;2.用FFT 程序计算有限长度正弦信号()s i n (2**)[()()],0y t f t u t u t N T t N T π=--<< 分别在以下情况下所得的DFT 结果并进行分析和讨论:a ) 信号频率f =50Hz ,采样点数N=32,采样间隔T=0.000625sb ) 信号频率f =50Hz ,采样点数N=32,采样间隔T=0.005sc ) 信号频率f =50Hz ,采样点数N=32,采样间隔T=0.0046875sd ) 信号频率f =50Hz ,采样点数N=32,采样间隔T=0.004se ) 信号频率f =50Hz ,采样点数N=64,采样间隔T=0.000625sf ) 信号频率f =250Hz ,采样点数N=32,采样间隔T=0.005sg ) 将c ) 信号后补32个0,做64点FFT四.内容分析FFT 运算时,依次要进行采样,码位倒置,蝶形运算,并且要用三层循环来控制,最内层循环控制做蝶形算法,中层循环完成每一级中相同系数的蝶形算法,最外层循环控制级数递推。
1数组采样:for j=0:1:N-1x(j+1)=sin(2*pi*f*j*T);end2.判断是否补零点补零的点在数组中都存为0insert=input('是否补0? 1(yes)/0(no):'); %补零if insert==1ZERO=input('补零数:');for j=N:1:N+ZERO-1x(j+1)=0;endN=N+ZERO;end3.码位倒置M为fft运算的级数,在这里被用为表示数组中数据下表的二进制代码位数上限。
用for循环来实现对数组中的每个数据进行处理。
其中dec2bin()函数将十进制代码转换为二进制代码,fliplr()将二进制的矩阵进行左右对称的翻转,即实现了码位倒置,bin2dec()在讲二进制代码转换为十进制代码。
M=log2(N);for t=1:1:Ns=dec2bin(t-1,M);s=fliplr(s);s=bin2dec(s);A(s+1)=x(t);end4.fft蝶形运算对fft运算采用了三个for循环来实现。
第一个循环实现fft每一级的运算,所以它的范围应该为1—M,循环一次做一级的fft运算。
第二个循环实现每一级运算中的分组,所以其分组与所处的运算级数有关,例如第一级有16的组,第二级有8个组,所以其上限为2^(L-1)-1。
第三个循环实现每一个组中的fft运算,但每个组中进行的fft运算次数与分组有关,所以运算时对要进行蝶形运算的采样点的下标要用k和级数来控制,而对于系数W与分组和级数有关。
for L=1:1:M %级数for J=0:1:(2^(L-1)-1) %分组for k=(J+1):2^L:N %组内fft运算T=A(k)+A(k+2^(L-1))*exp((-i*2*pi*J*2^(M-L))/N);A(k+2^(L-1))=A(k)-A(k+2^(L-1))*exp((-i*2*pi*J*2^(M-L))/N); A(k)=T;endendend5.归一化对采样点的幅值去绝对值,再用每一个绝对值除以其中的最大值,这样就可以得到归一化后的图形x=abs(A);y=max(x);X=x/y;6.画图用for循环来实现采样点的幅值与采样点的对应绘图。
Axis()规定图形的纵轴范围(0,1)和横轴范围(0,N)。
for j=1:1:Nstem(j-1,X(j));hold onendaxis([0 N 0 1]);五.实验结果分析在本次试验中,进行DFT运算的序列是我们对一个在时域为连续周期的信号进行采样得到的,这个有限长序列(在本题中为32个点)可以看作是对无限长的采样得到的序列进行加窗得到的,这个窗是一个长度为32的矩形窗。
由FT的性质知,在时域连续周期的信号的频域是离散非周期的。
对时域信号的采样会导致频域发生周期延拖,而延拖的周期为采样频率,如果对采样后的序列进行加窗,那么会在频谱上卷积一个sinc函数。
最终得到的DFT的结果是对这个已经卷积过的频谱进行频域采样得到的。
a. 信号频率f=50Hz,采样点数N=32,采样间隔T=0.000625s信号的频率为50Hz,采样周期为0.000625s,则采样频率为1600Hz,在数字域,采样频率对应的是2*pi,由于sin信号的频谱为在pi/16和-pi/16上的冲激,所以时域采样后,在频域以2*pi为周期进行周期延拖。
加窗后,卷积一个sinc 函数,由于窗的长度为32,所以所以其主瓣的宽度为pi/16,因为进行DFT要有32个点,所以第k个点对应的频谱为(k-1)*pi/16,由上面的sinc函数的主瓣宽度知,除了pi/16和31*pi/16(由于频域的周期延拖),其他的点处,sinc函数都为0,DFT的结果只有在第1个点和第31个点有大小相等的值,其它点为0.b. 信号频率f=50Hz,采样点数N=32,采样间隔T=0.005s变化的是采样间隔变为0.005s,这样采样频率就变为200Hz,同样采样频率对应数字域的2*pi,所以sin信号的谱在数字域对应的频率为+0.5*pi和-0.5*pi,周期延拖后在1.5*pi处也会有,故在0到2*pi中有两个冲激,窗的宽度还是32,所以sinc函数的主瓣宽度和上题一样,因为进行DFT要有32个点,所以第k 个点对应的频谱为(k-1)*pi/16,由上面的sinc函数的主瓣宽度知,除了pi/2和3*pi/2(由于频域的周期延拖),其他的点处,sinc函数都为0,所以DFT的结果只有在第8个点和第24个点有大小相等的值,其它点为0.c. 信号频率f=50Hz,采样点数N=32,采样间隔T=0.0046875s采样周期为0.0046875s,所以采样频率为213.33Hz,不是整数,因为在数字域采样频率对应的是2*pi,所以可以知道sin函数在数字域里对应的是0.234*pi,和-0.234*pi,可见不是pi/16的整数倍,所以其卷积sinc函数后,由于sinc函数的主瓣仍然保持为pi/16,所以频率在k*pi/16上不为0而是两个sinc函数的叠加,由于sinc函数从主瓣向两边延伸时,幅度渐渐衰减,所以最终频谱为在7*pi/16,8*pi/16和24*pi/16,25*pi/16这4个距离sinc函数主瓣最近的频率处会有比较大的幅值,其他点依次衰减。
d. 信号频率f=50Hz,采样点数N=32,采样间隔T=0.004s采样周期为0.004s,所以采样频率为250Hz,采样频率对应数字域的2*pi,所以sin函数的频谱在数字域对应的是2*pi/5和-2*pi/5,sinc函数与上述题目相同,主瓣为pi/16,所以在k*pi/16上不为0而是两个sinc函数的叠加,我们计算可知,sinc函数的主瓣最高点在6.4倍的pi/16处,距离6倍的pi/16近,距离7倍的pi/16远,所以DFT的频率图像在n=6点最高,由于周期性,n=26点也为一个峰值,其余点的值一次在幅度上衰减。
e. 信号频率f=50Hz,采样点数N=64,采样间隔T=0.000625s信号的频率为50Hz,采样周期为0.000625s,所以采样频率为1600Hz,在数字域,采样频率对应的是2*pi,由于sin信号的频谱为在+1/16pi和-1/16pi上的冲激,所以时域采样后,在频域以2*pi为周期进行周期延拖。
加窗后,卷积一个sinc函数,由于窗的长度为64,所以所以其主瓣的宽度为1/16pi,因为进行DFT有64个点,所以第k个点对应的频谱为(k-1)*pi/32,由上面的sinc函数的主瓣宽度知,除了pi/16和31*pi/16(由于频域的周期延拖),其他的点处,sinc函数都为0,所以DFT的结果只有在第2个点和第62个点有大小相等的值,其它点为0.f. 信号频率f=250Hz,采样点数N=32,采样间隔T=0.005s信号频率f=250Hz,采样点数N=32,采样间隔T=0.005s,采样频率为200Hz,采样频率对应数字频域的2*pi,所以sin函数的频谱在2.5*pi和-2.5*pi上有冲激。
由于采样后产生周期性,在0.5*pi和1.5*pi处也有冲激。
sinc函数的主瓣宽度还是pi/16,因为0.5*pi和1.5*pi均是1/16pi的整数倍,所以sinc函数在其余k*pi/16处均为0,所以最终DFT的频谱只在n=8和24有等值的冲激,别的点为0.g. 将c)信号后补32个0,做64点FFT本题与c)题的区别在于最终做了一个64点的DFT,其它均没有变化,就是说,在对频谱采样前,本题的频谱和c)的是相同的。
在c中采样的间隔是pi/16,而在本题中采样的间隔是pi/32。
所以在2*n点上的值与c)对应的n点的值相同;在2*n+1点上除了在第15和第49点上有峰值外,其余点为0。
附件:clc;clear;f=input('信号频率f(Hz):'); %输入信号频率f%N=input('采样点数N:'); %输入采样点数N%T=input('采样周期T(s):'); %输入采样间隔T%%采样for j=0:1:N-1x(j+1)=sin(2*pi*f*j*T);end%补0insert=input('是否补0? 1(yes)/0(no):');if insert==1ZERO=input('补零数:');for j=N:1:N+ZERO-1x(j+1)=0;endN=N+ZERO;end%码位倒置%M=log2(N);for t=1:1:Ns=dec2bin(t-1,M);s=fliplr(s);s=bin2dec(s);A(s+1)=x(t);end%按时间抽取的FFT蝶形运算%for L=1:1:Mfor J=0:1:(2^(L-1)-1)for k=(J+1):2^L:NT=A(k)+A(k+2^(L-1))*exp((-i*2*pi*J*2^(M-L))/N);A(k+2^(L-1))=A(k)-A(k+2^(L-1))*exp((-i*2*pi*J*2^(M-L))/N); A(k)=T;endendend%模值归一化%x=abs(A);y=max(x);X=x/y;%绘图for j=1:1:Nstem(j-1,X(j));hold onendaxis([0 N 0 1]);。