模拟信号的数字谱分析

汕 头 大 学 工 学 院 三级项目报告

课 程 名 称 : 数字信号处理 三级项目题目: 模拟信号的数字谱分析 指 导 教 师 :

系 别: 电子工程系 专 业: 通信工程

完成时间: 2010年 11月2 日 至 11 月 16 日

成绩: 评阅人:李旭涛

1 内容与要求

(每个项目的要求,粘贴即可)

画出不同采样率、不同持续期的正弦信号波形图,分别用DTFT、DFT和FFT算法计算频谱。通过MATLAB仿真计算,达到以下目标:

1. 理解数字谱分析中物理分辨力和计算分辨力的概念及两者间的关系; 2. 弄清数字谱分析中误差成因及减小误差的方法。

2 报告正文

(依据的理论,具体实现的步骤,程序代码)

(1)数字谱分析中物理分辨力和计算分辨力的概念及两者间的关系:

物理分辨率:fc计算分辨率:fbin

fsL

fs

(矩形窗的c=1,海明窗的c约等于2)

N

(这不仅对矩形窗成立,对其他窗也是成立的)

当c、fs都不变时,增大N可以显著提高计算分辨率,但物理分辨率不变,因为有效的数据点数不变;增大L时,可以提高物理分辨率,能分辨出相邻很近的频率,但计算分辨率不变。有人就认为补零后物理分辨力提升了,这是错误的;因为补零不能增加数据的有效长度,因而补零不能提高物理分辨力。

(2)数字谱分析中误差成因及减小误差的方法: 频谱泄漏:

实际问题中遇到的离散时间序列x(n)通常是无限长序列,因而处理这个序列的时候需要将它截短。截短相当于将序列乘以窗函数w(n)。根据频域卷积定理,时域中x(n)和w(n)相乘对应于频域中它们的离散傅立叶变换X(jw)和W(jw)的卷积。

因此,x(n)截矩后的频谱不同于它以前的频谱。例如,对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱。但是,在利用DFT求它的频谱做了截短,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上“泄露”出去的,这种现象称为频谱“泄露”。

为了减小频谱“泄露”的影响,往往在FFT处理中采用加权技术,典型的加权序列有Hanning、Blackman、Gaussian等窗序列。此外,增加窗序列的长度也可以减少频谱“泄露”。 栅栏效应:

对一函数实行采样,即使抽取采样点上对应的函数值。其效果如同透过栅栏的缝漏去看观看外景一样,只有落在缝隙前的少数景象被看到,其余景象均被栅栏挡住而视为零,这样现象称为栅栏效应。只有当采样的频率满足采样定理时,栅栏效应没什么影响。而频率的采样栅栏效应的影响很大,“挡住”或失去的频率成分有可能是重要的或具有特征的成分,使信号处理失去意义。

减小栅栏效应可用提高采样间隔Df也就是频率分辨力的方法来解决。间隔小,频率分辨力高,被“挡住”或丢失的频率成分就会越少。但会增加采样点数,使计算工作量增加。解决此项矛盾可以采用如下方法:在满足采样定理的前提下,采用频率细化技术(ZOOM),亦可用把时域序列变换成频谱序列的方法。

程序代码1:

function [ output_args ] = cdio31( fs,L,N ) % fs是入口参数,单位是Hz; % L 是信号的持续时间,单位是是s;

% N 是DFT采样点的个数 % 函数功能:

% 1.输出y=sin(2*pi*t)经fs的采样频率采样后的时域图;

% 2.在同一坐标上画出采样信号的DTFT、DFT及FFT频谱图,以作比较。 % 说明:

% 1.DTFT图实际是把N扩大很多倍时的DFT; % 2.为方便比较,把FFT的采样点数扩大了一倍。 n=1024*N;

t =0:1/fs:L-1/fs; df=fs/n; y=sin(2*pi*t);

subplot(2,1,1),stem(t,y,'.'); title('Sampled Signal'); xlabel('t/s');

[H1,w1]=freqz(y,1,n);

f1=w1/2/pi*n*df;%使横轴的单位为rad subplot(2,1,2),plot(f1,abs(H1),'g') hold on;

[H2,w2]=freqz(y,1,N); f2=w2/2/pi*N*(fs/N); stem(f2,abs(H2),'b.'); xlabel('w');

title('DTFT(Green) & DFT(Blue) &FFT(Red)');

z = fft(y,N*2); f3=(0:N*2-1)/N*fs/2;

subplot(2,1,2),plot(f3,abs(z),'xr'); grid on; hold off; end

程序代码2:

function [ output ] = cdio9_8(fs,L,N) % fs是入口参数,单位是Hz; % L 是信号的持续时间,单位是s; % N 是DFT采样点的个数 f1=2;f2=2.5;f3=3; n=0:L-1;

xL=cos(2*pi*f1/fs*n)+cos(2*pi*f2/fs*n)+cos(2*pi*f3/fs*n); y=fft(xL,N);%进行N点fft变换 mag=abs(y);%求幅值

f=(0:length(y)-1)*fs/length(y);%进行对应的频率转换

bar(f,mag,0) hold on plot(f,mag) xlabel('频率/Hz'); ylabel('振幅');

title('Magnitude Spectra') pause clf end

3 结果与分析

(实验的结果,以及对结果的解释和分析。) 在命令窗口输入: cdio31(10,4,100) 得到下图

采样后信号

y=sin(2*pi*t); t =0:1/fs:L-1/fs;

绿色为DTFT,紫色为DFT,红色为FFT 分析:

第一幅图是正弦信号经采样后的图,采样为fs(此图fs=10)

第二个图是DTFT和DFT,FFT的计算频谱图。3个图的形状是一致的,只不过FFT的是双峰的,其他的只是单峰。DTFT的频谱是连续的,但是DFT,FFT的是离散的,因为DTF是在它Z变换的单位圆上的均匀采样,FFT是对DFT的快速计算方法,FFT与DFT是一样

的,只不过FFT是算法,而DFT是变换。

此程序的DTFT计算是基于DTFT的定义,它并不是计算DTFT的最优化算法。从程序中,我们也可以看到,该算法要产生一个(M+1)*N的矩阵,当M和N很大的时候,要占用很大的内存,且矩阵的指数运算要花费大量的时间。

在此程序中,为了方便计算把FFT的计算采样点数扩大了一倍。

在命令窗口输入: cdio9_8(10,10,32) cdio9_8(10,10,64) cdio9_8(10,20,32) cdio9_8(10,20,64) 得到下图

由程序cdio9_8(fs,L,N)看出,当fs都不变时,增大N可以显著提高计算分辨率,但物理分辨率不变,因为有效的数据点数不变;增大L时,可以提高物理分辨率,能分辨出相邻很近的频率,但计算分辨率不变。

4 总 结

5 参考文献

(A.V. Oppenheim 等著, 刘树棠 译. 信号与系统(第二版),西安交通大学出版社,1998.) [1] 程佩青著,数字信号处理教程(第二版),清华大学出版社,2000.

[2] 王华,李有军,刘建存著,MATLAB电子仿真与应用教程(第二版),国防工业出版

社,2007.

[3] [美]Sanjit K. Mitra, 数字信号处理----基于计算机的方法(第二版),电子工业出版社,2005

[4] 陈怀琛,吴大正,高西全,MATLAB及在电子信息课程中的应用,电子工业出版社,2002

[5] 陈怀琛,数字信号处理教程---MATLAB释义与实现,电子工业出版社,2004

汕 头 大 学 工 学 院 三级项目报告

课 程 名 称 : 数字信号处理 三级项目题目: 模拟信号的数字谱分析 指 导 教 师 :

系 别: 电子工程系 专 业: 通信工程

完成时间: 2010年 11月2 日 至 11 月 16 日

成绩: 评阅人:李旭涛

1 内容与要求

(每个项目的要求,粘贴即可)

画出不同采样率、不同持续期的正弦信号波形图,分别用DTFT、DFT和FFT算法计算频谱。通过MATLAB仿真计算,达到以下目标:

1. 理解数字谱分析中物理分辨力和计算分辨力的概念及两者间的关系; 2. 弄清数字谱分析中误差成因及减小误差的方法。

2 报告正文

(依据的理论,具体实现的步骤,程序代码)

(1)数字谱分析中物理分辨力和计算分辨力的概念及两者间的关系:

物理分辨率:fc计算分辨率:fbin

fsL

fs

(矩形窗的c=1,海明窗的c约等于2)

N

(这不仅对矩形窗成立,对其他窗也是成立的)

当c、fs都不变时,增大N可以显著提高计算分辨率,但物理分辨率不变,因为有效的数据点数不变;增大L时,可以提高物理分辨率,能分辨出相邻很近的频率,但计算分辨率不变。有人就认为补零后物理分辨力提升了,这是错误的;因为补零不能增加数据的有效长度,因而补零不能提高物理分辨力。

(2)数字谱分析中误差成因及减小误差的方法: 频谱泄漏:

实际问题中遇到的离散时间序列x(n)通常是无限长序列,因而处理这个序列的时候需要将它截短。截短相当于将序列乘以窗函数w(n)。根据频域卷积定理,时域中x(n)和w(n)相乘对应于频域中它们的离散傅立叶变换X(jw)和W(jw)的卷积。

因此,x(n)截矩后的频谱不同于它以前的频谱。例如,对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱。但是,在利用DFT求它的频谱做了截短,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上“泄露”出去的,这种现象称为频谱“泄露”。

为了减小频谱“泄露”的影响,往往在FFT处理中采用加权技术,典型的加权序列有Hanning、Blackman、Gaussian等窗序列。此外,增加窗序列的长度也可以减少频谱“泄露”。 栅栏效应:

对一函数实行采样,即使抽取采样点上对应的函数值。其效果如同透过栅栏的缝漏去看观看外景一样,只有落在缝隙前的少数景象被看到,其余景象均被栅栏挡住而视为零,这样现象称为栅栏效应。只有当采样的频率满足采样定理时,栅栏效应没什么影响。而频率的采样栅栏效应的影响很大,“挡住”或失去的频率成分有可能是重要的或具有特征的成分,使信号处理失去意义。

减小栅栏效应可用提高采样间隔Df也就是频率分辨力的方法来解决。间隔小,频率分辨力高,被“挡住”或丢失的频率成分就会越少。但会增加采样点数,使计算工作量增加。解决此项矛盾可以采用如下方法:在满足采样定理的前提下,采用频率细化技术(ZOOM),亦可用把时域序列变换成频谱序列的方法。

程序代码1:

function [ output_args ] = cdio31( fs,L,N ) % fs是入口参数,单位是Hz; % L 是信号的持续时间,单位是是s;

% N 是DFT采样点的个数 % 函数功能:

% 1.输出y=sin(2*pi*t)经fs的采样频率采样后的时域图;

% 2.在同一坐标上画出采样信号的DTFT、DFT及FFT频谱图,以作比较。 % 说明:

% 1.DTFT图实际是把N扩大很多倍时的DFT; % 2.为方便比较,把FFT的采样点数扩大了一倍。 n=1024*N;

t =0:1/fs:L-1/fs; df=fs/n; y=sin(2*pi*t);

subplot(2,1,1),stem(t,y,'.'); title('Sampled Signal'); xlabel('t/s');

[H1,w1]=freqz(y,1,n);

f1=w1/2/pi*n*df;%使横轴的单位为rad subplot(2,1,2),plot(f1,abs(H1),'g') hold on;

[H2,w2]=freqz(y,1,N); f2=w2/2/pi*N*(fs/N); stem(f2,abs(H2),'b.'); xlabel('w');

title('DTFT(Green) & DFT(Blue) &FFT(Red)');

z = fft(y,N*2); f3=(0:N*2-1)/N*fs/2;

subplot(2,1,2),plot(f3,abs(z),'xr'); grid on; hold off; end

程序代码2:

function [ output ] = cdio9_8(fs,L,N) % fs是入口参数,单位是Hz; % L 是信号的持续时间,单位是s; % N 是DFT采样点的个数 f1=2;f2=2.5;f3=3; n=0:L-1;

xL=cos(2*pi*f1/fs*n)+cos(2*pi*f2/fs*n)+cos(2*pi*f3/fs*n); y=fft(xL,N);%进行N点fft变换 mag=abs(y);%求幅值

f=(0:length(y)-1)*fs/length(y);%进行对应的频率转换

bar(f,mag,0) hold on plot(f,mag) xlabel('频率/Hz'); ylabel('振幅');

title('Magnitude Spectra') pause clf end

3 结果与分析

(实验的结果,以及对结果的解释和分析。) 在命令窗口输入: cdio31(10,4,100) 得到下图

采样后信号

y=sin(2*pi*t); t =0:1/fs:L-1/fs;

绿色为DTFT,紫色为DFT,红色为FFT 分析:

第一幅图是正弦信号经采样后的图,采样为fs(此图fs=10)

第二个图是DTFT和DFT,FFT的计算频谱图。3个图的形状是一致的,只不过FFT的是双峰的,其他的只是单峰。DTFT的频谱是连续的,但是DFT,FFT的是离散的,因为DTF是在它Z变换的单位圆上的均匀采样,FFT是对DFT的快速计算方法,FFT与DFT是一样

的,只不过FFT是算法,而DFT是变换。

此程序的DTFT计算是基于DTFT的定义,它并不是计算DTFT的最优化算法。从程序中,我们也可以看到,该算法要产生一个(M+1)*N的矩阵,当M和N很大的时候,要占用很大的内存,且矩阵的指数运算要花费大量的时间。

在此程序中,为了方便计算把FFT的计算采样点数扩大了一倍。

在命令窗口输入: cdio9_8(10,10,32) cdio9_8(10,10,64) cdio9_8(10,20,32) cdio9_8(10,20,64) 得到下图

由程序cdio9_8(fs,L,N)看出,当fs都不变时,增大N可以显著提高计算分辨率,但物理分辨率不变,因为有效的数据点数不变;增大L时,可以提高物理分辨率,能分辨出相邻很近的频率,但计算分辨率不变。

4 总 结

5 参考文献

(A.V. Oppenheim 等著, 刘树棠 译. 信号与系统(第二版),西安交通大学出版社,1998.) [1] 程佩青著,数字信号处理教程(第二版),清华大学出版社,2000.

[2] 王华,李有军,刘建存著,MATLAB电子仿真与应用教程(第二版),国防工业出版

社,2007.

[3] [美]Sanjit K. Mitra, 数字信号处理----基于计算机的方法(第二版),电子工业出版社,2005

[4] 陈怀琛,吴大正,高西全,MATLAB及在电子信息课程中的应用,电子工业出版社,2002

[5] 陈怀琛,数字信号处理教程---MATLAB释义与实现,电子工业出版社,2004


相关文章

  • 通信对抗原理大作业题目
  • 通信对抗原理仿真大作业题目 基本要求:仿真大作业分组完成,每个组3~5人,至少选择4个题目,并且在每一类中至少选择一个题目.利用MATLAB 完成计算机仿真,并且撰写仿真实验报告.大作业完成情况将作为评价平时成绩的依据. 第一类:测频方法仿 ...查看


  • 数字电路与模拟电路的区别
  • 模拟电路研究课题 课题:从三极管伏安特性曲线,a) 浅谈线性电路与非线性电路的区别:b) 浅谈模拟电路与数字电路的区别. 摘要:本文从三极管的伏安特性曲线出发,简要分析了线性电路与非线性电路的各自特点.分析方法以及它们的区别,模拟电路与数字 ...查看


  • 附带资料 基于matlab的IIR数字滤波器设计
  • 基于matlab 的IIR 数字滤波器设计 一. IIR 数字滤波器介绍 1.IIR 数字滤波器的基本原理 所谓数字滤波器,是指输入,输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的 相对比例或者滤除某些频率成分的硬件.实质上就 ...查看


  • 数字信号处理学习心得
  • 数字信号处理报告 数学与信息科学学院 信息与计算科学 学号:41312261 姓名:高萌瑶 数字信号处理 信号处理的问题在各个领域都非常普遍,信号的表现形式也多种多样.若将信号看作自变量时间影响的因变量,则也可细分为如下几种:信号的自变量和 ...查看


  • 关于数字电视信号测量与传输的讨论
  • 有线数字电视系统的参数及测量 有线数字电视系统包括编解码.复用和传输等多个环节,整个过程涉及的技术指标较多,其中的关键参数影响着数字信号质量和整个系统的稳定性,所以必须对关键技术参数进行了解和测试. 有线数字电视系统中,模拟视音频信号按照M ...查看


  • 数字信号处理B_教学大纲
  • <数字信号处理B >课程教学大纲 Digital Signal Processing B 课程编码: 适用专业:广播电视工程等 先修课程:信号与线性系统 学 分 数:3 总学时数:48 实验(上机)学时:0 考核方式:校考 执 ...查看


  • 多路音频采集器
  • 目录 摘要 . ................................................................................................................ ...查看


  • 频谱仪使用中的带宽设置问题
  • 频谱仪使用中的带宽设置问题 在测量一些CATV 系统指标中,常常要用到频谱仪,为了使测量结果准确,在频谱仪的使用上常涉及到一个分辨带宽设置的问题.要弄清这个问题,得要知道一些频谱仪的基本原理.图1是频谱仪的基本原理框图.图中的中频频率(输入 ...查看


  • AM模拟调制系统的设计与仿真
  • 摘要 调幅,英文是Amplitude Modulation(AM ).调幅也就是通常说的中波,范围在503---1060KHz .调幅是用声音的高低变为幅度的变化的电信号. 本课程设计主要研究了AM 模拟调制系统的设计和仿真.在本次通信系统 ...查看


  • 基于FPGA的嵌入式逻辑分析仪设计
  • 第21卷第1期 2006年2月 长沙电力学院学报(自然科学版) Vol.21Feb. No.1 JOURNALOFCHANGSHAUNIVERSITYOFELECTRICPOWER(NATURALSCIENCE) 2006 基于FPGA的嵌 ...查看


热门内容