资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
matlab频谱分析时的若干问题解释及几种频谱的理解文主要说明以下几个问题:在matlab中如何表示频率为fl,以采样率三抽样后所得到的数 字信号?如此表示的依据是什么?使用matlab画出的频谱(一般是幅度谱或称振幅谱)的横坐标轴 的意义是什么?如何根据横坐标轴的值得到其所对应的实际频率?实数序列的频谱除第零个点和第N/2个(当N为偶数时)点外(从 0N-1),其它具有共轭对称性质;复数序列呢?频率分辨率指的是什么?高分辨谱和高密度谱有何区别?有何 作用?约定:对于信号cos(st),它是以周期为2兀/3为周期的信号, 角频率3=2nf,我们经常这样称呼这个信号:它的角频率为3,频 率为fHz,周期T=1/f秒;一、信号采样问题在matlab中对以下信号进行采样:瓦(=cos 辆) =冗井)其中fl = 1000Hz,根据奈奎斯特采样定理,采样频率三N 2f1, 在此我们取f = 3000Hz。在matlab中仿真也好,实际中处理的信号也罢,一般都是数字 信号。而采样就是将信号数字化的一个过程,设将信号s1(t)数字化 得到信号:其中n=0N-1,N为采样点数。我们来解释一下s1(n),为什么说上式表示以采样率三对频率为 fl的信号进行采样的结果呢?采样,顾名思义,就是对信号隔一段 时间取一个值,而隔的这段时间就是采样间隔,取其倒数就是采样率 了。那们我们看上式,将前面的参数代入:当n=0时:虹(0)二匚0(0)当n=1时:s. nj = cos当n=2时:当n=3时:这是不是相当于对信号s1(t)的一个周期内采了三个样点呢?对一个频率为1000Hz的信号每周期采三个样点不就是相当于以3倍于频率的采样率进行采样呢?注意,当n=3时相当于下一个周期的起始 了。我们取采样点数N=64,即对64/3=21.3个周期,共计64/3/f1=21.3ms 时长。我们在matlab中输入以下命令: n=0:63; f1=1000;f=3000; si=cos(2*pi*f1/f*n); plot(abs(fft(s1);口i-i:0102030 JO 06070图1下面我们对图1进行一下解释,以说明图中的横坐标轴的所代表 的意义。对于信号:气们二C3 (理)我们知道它的傅里叶变换是:与(陌)二北四 口一气)十(白十气)如果在-2 nX3000/2 2nX3000/2范围内观察信号s1(t)的频 谱,则应该在2nX 1000和-2 nX 1000两个频点上有两根谱线,而 对采样后的数字信号,频率坐标轴范围-2 nX3000/2 2nX3000/2 将被归一化到-2 nX (3000/2)/3000 2nX (3000/2)/3000 即-n n 范围内,因此将在 2nX1000/3000 和-2nX1000 /3000 即 2n/3和-2 n /3的两个频点上有两根谱线。注意,此时坐标轴上的2 n代表 着3000Hz的频率范围。另外还有一点应该明白的是,时域采样意味着频域的周期延拓, 即-n n上的谱线与-n+MX2n n+MX2n范围内的谱线是一 模一样的,其中M为任意的整数。更通俗的说,a b之间的频谱与 a+MX2n b+MX2n之间的频谱是一模一样的。因此-n 0之间 的频谱与n 2n之间的频谱是一样的。在matlab中,如果仅简单的执行plot绘图命令,坐标横轴将是 1 N,那么这1 N代表着什么呢?是的,应该代表0X2n,应用 到上面的例子即是03000Hz的频率范围。其中1 N/2代表0 n,而N/2 N代表-n 0。从理论上讲,对于气.)=cos 源拒、应该在1000Hz和-1000Hz两个频点上有两根线,即应该在x1(其 中 x1X(3000/2) /(64/2)=1000,解得 x1=21.3)上和 64-x1 上有两 根谱线。观察图1可知,两个峰值大约对应横轴坐标为21和43=64-21 两个点。若令:如(e) =则傅里叶变换是:禹(包=一丁打风如一昭)一占3+弓)在matlab中执行以下命令: n=0:63; f1=1000;f=3000; s2=sin(2*pi*f1/f*n); plot(abs(fft(s2);则可得其频谱,如图2所示:30i111图2由图可得两个峰值的位置基本与图1相同,这由其傅里叶表达式 也可以得出此结论。以上分别说明了余弦和正弦的频谱,而且余弦和正弦均是实数序 列,实数序列的离散傅里叶变换(DFT)具有共轭对称性质(此性质可 百度或查阅数字信号处理相关书籍或自行推导,很简单的),这从图 中也可以看出。(画图时取其模值,共轭取模与原先数取模将变成相 等)二、复数的频谱若令q . 二.匚眼(可丈)+ J sin f理)则计算其傅里叶变换可得: 苗)二科 一知十(归十冯)J七_J打占站_为“(皿十妃=- 妃因此频谱中将只有一根谱线。在matlab中输入以下命令: n=0:63; f1=1000;f=3000; s3=cos(2*pi*f1/f*n)+j*sin(2*pi*f1/f*n); plot(abs(fft(s3);图3从图3可以看出,对于一个复数序列求频谱,它的幅度谱将不再 是对称的两根谱线。其实经过类似于实数序列的推导可以得出,复数 序列的频谱将不再具有类似于实数序列的共轭对称性质。当3 1为负值时会如何呢?同样对于信号:&4= cos (理)+ J win(巧输入以下命令计算它的频谱: n=0:63; f1=-1000;f=3000; s4=cos(2*pi*f1/f*n)+j*sin(2*pi*f1/f*n); plot(abs(fft(s4);图4对比图3和图4可知,当频率为正值时,峰值将在1 32范围 内;而当频率为负值时,峰值将在3364之间。此性质可通俗的描 述如下:对于信号:E(f.)=+ j sin (27?)对其进行符合奈奎斯特采样定理的采样,设采样率为fs,采样 点数为N,得到数字信号s(n), n = 0,N-1,则对s(n)做DFT 变换进行谱分析后得到S(k),k=0,N-1。观察S(k)的幅度谱, 若k = 0 N/2-1之间有峰值,则s(t)的频率三在0 fs/2之间; 若k =N/2 N-1之间有峰值,则s(t)的频率三在-fs/2 0之间; 并且有且只有一个峰值。设幅度谱峰值当k = k1时出现,则s(t)的频率为:八斜T*3 一片)万以顶三、频率分辨率频率分辩率是指频域取样中两相邻点间的频率间隔。更确切的说 是如果某一信号含有两个频率成分f1和f2,Of = |f2-f1|,频率分 辨率的概念是如果频率分辨率大于Of,对信号进行谱分析后将不能 视别出其含有两个频率成分,这两个频率将混叠在一起。以下是摘自华科姚大任数字信号处理(第二版)第92页的一 段:I.谓分析中若敷的是择姬毋所处理的高敞时简箝号ZW是从连埃时伺惜号H.U)中取桦御剧的,下面的甘论来用如下符号:7X取样周期).单位为引人(败样筱率)单位为也J,-若兀连续时匍俺号r/0的量高魏享,革位为Hi;F(* 酌巍率分辩率,单位为Hl所谓频驱分骅率是指KT域拿样中南相邨点间的源率 间隔.也就是说,对rji)的振磨IX.)涟行胄散鹿察时,两再散原率的同RI不能4、于匕 香州肘工.(。所包含的这两个烯率成分就不可能加以分痍.当工.。)的择相谱IX.(/)|变化比 较剧烈时/应股得小一些】而当IX/)|变化较平技时,F可敏得较大,&(信号aU)的it小记梁长度 *,单位为2N(个记袤长度中的职样敬),基带值号的颗诸主要集中在候烦段,根据取样定理,为了遂兔混登曳真,要求A 2A 或 7W 法(M”)簸小记最长度必兼按所雳的腰率贤舞率来选择,犀fp = NT = A(3, 92)从式(3, 91)可狩出,当提高信号最嬴颇宰八时,卷须喊少T倦N固定的情况下*亩式(3. 92) 看出,记呆长度”将增短,造.意味着频率分辨率要降惴反之,春娶提高频率分辑率,在给定N 的情睨下,就必须增M,,这必然导致T的堵加,结果使能分析的最高频率降低,在保持分葬率不变的靖配F,若希望增如所分析的信号的景腐频率,或在保持倚号廉高弑 聿不变的情况下,提高分辨率唯一的办法是增加在记录长度内的取律点敷N.如果人和Fiff 黔定,那么N必顼槽足条件(3.93)现在我们设定信号:&5 (f) = COS (件)+ 如(玛 )其中 3 1=2jiX1000, g)2=2 n X1100,在 mat lab 中输入以下命令计算其频谱: n=0:63; fl=1000;f2=1100;f=3000; s5=cos (2*pi*fl/f*n)+sin(2*pi*f2/f*n); plot (abs(fft(s5);图5从图5中可以看出能够分辨出fl = 1000Hz和f2 = 1100Hz两个 频率分量。我们利用上面的理论来计算一下此时的频率分辨率:采样频率三,=3000Hz采样点个数N = 64最长记录长度tp = NX (1/fs)频率分辨率 F = 1/tp = fs/N = 3000/64 =46.875Hz因为F n=0:23; f1=1000;f2=1100;f=3000; s5=cos(2*pi*f1/f*n)+sin(2*pi*f2/f*n); plot(abs(fft(s5);图6第二种尝试:采样率fs升为8000Hz,即满足奈奎斯特采样定理, 大于信号s5(t)的最高频率分量1100Hz的两倍,采样点个数N不变, 仍为64个,在matlab中输入以下命令: n=0:63; f1=1000;f2=1100;f=8000; s5=cos(2*pi*f1/f*n)+sin(2*pi*f2/f*n); plot(abs(fft(s5);300024图7由图6和图7可以看出,这两种尝试虽然满足奈奎斯特采样定理, 但都不能分辨出两个频率分量,用前面的理论知识可以作如下分析:第一种尝试的频率分辨率:第二种尝试的频率分辨率:因此以上两种尝试均不能分辨出频率间隔为100Hz的两个频率 分量。四、高密度谱的概念如图6所示,频谱很不平滑,呈很明显的折线状态,我们在matlab 中输入以下命令: n=0:23; f1=1000;f2=1100;f=3000; s5=cos(2*pi*f1/f*n)+sin(2*pi*f2/f*n); plot(abs(fft(s5,zeros(1,104);图8图8是将图6中的信
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号