matlab 数字信号处理教程(2)

2020-06-21 14:28

real Re?ak?ak : even

Im?ak??ak: odd

real and even real and even real and odd imaginary and odd 周期信号频率分量的计算 (例 P.38) 要点:

?0?2?/P

2.4 利用简单分解求cm

A(常数)???FSc?Am?0m?? ?0m?0Bejn?0t???FSc?Bm?nm???0m?n 2.5 利用公式求矩形脉冲的cm

x?t????1t?aFS2sinm?0a?0其余t???cm?m?P

02.6 利用公式求冲激串(sampling function)的cm

?r?t?????t?kT????FSc1m?

k???T周期信号的时间范围:(??,?) 双边信号 一般周期信号的频率范围:(??,?) 若对于所有的

m?M,cm?0,则称为带限信号;

频率分量的意义:

平均功率: 只与magnitude有关 phase的影响:对信号波形的影响 对视频有影响,对音频没有影响 DTFS(离散时间付氏级数) 定义式

x?n??

c?1?jm?md0nTm?cmdejm?0nT ?NNx?n?en??N

6

频率分量讨论:

cmd的周期性 只有N个独立系数

共轭对称性:奇偶性 m的取值范围:应使

m?0?2?m/NT的范围为(??/T,?/T]

时移的影响: 线性相位变化 例 p.48—54

2.8 利用公式直接计算系数 N=3

2.9 利用公式直接计算系数 N=4

2.10 时移的作用

时移不影响DTFS系数的幅度,只在系数中加入线性相位;

7

利用MATLAB计算频率分量 DTFS系数的FFT计算

重要函数 c=(1/N)*fft(x) x=N*ifft(c)

应用要点:x和c的序列都为N个元素,下标排列都为[ 1 …..N],分别对应于离散时间n [0….N-1]和离散频率 m [0….N-1];

DTFS可以利用任何一个周期进行计算;

在采用FFT的时候,输入数据必须从n=0到N-1;

利用shift()函数(P.56)可以使频率向量排布在对称区间内:

N为odd时,下标0在正中,N为even时,下标0偏左; 利用m=ceil(-(N-1)/2):ceil((N-1/2)可以得到对应的横坐标; 注意:c为周期序列,周期为N; 例2.8题的求解 N=3;T=0.5; x=[-2 1 –0.6]; 例2.9题的求解 N=4;T=1; x=[ 2.5 -0.4 1 -2]; %program 2.2

N=3;T=0.5; x=[-2 1 –0.6]; D=2*pi/(N*T); X=fft(x/N);

m=ceil(-(N-1)/2):ceil((N-1)/2); w=m*D;

subplot(2,1,1),stem(w,abs(shift(X))),title('(a)');

subplot(2,1,2),stem(w,angle(shift(X))*180/pi),title('(b)'); CTFS系数的FFT计算

问题:x为连续信号;m取值范围为无限大区间; 方案:在一个周期内取N点对x进行采样(离散化); 求出DTFS系数---周期序列;

取主值范围内的序列即为对应CTFS系数;

当x为带限信号时,在满足采样定理条件下可以得出准确的CTFS系数; 例 2.4题的求解 2.12 %program 2.2

P=2*pi/0.3;N=11;T=P/N;D=2*pi/P; n=0:N-1;

x=-1.2+0.8*sin(0.6*n*T)-1.6*cos(1.5*n*T); X=fft(x/N);

m=ceil(-(N-1)/2):ceil((N-1)/2); w=m*D;

subplot(2,1,1),stem(w,abs(shift(X))),title('(a)');

subplot(2,1,2),stem(w,angle(shift(X))*180/pi),title('(b)');

对于带限信号,在满足采样定理的条件下,不同大小的N值(采样数量)得到的幅频分量相同;

若采样周期不够小,则将产生频率混叠失真; 例2.3 频率混叠的影响 例2.5题的求解

通过改变采样点数量N,可以比较混叠的影响大小 %program 2.4

8

hold on;

N=42;P=4;T=P/N;D=2*pi/P; q=floor(1/T);

x=[ones(1,q+1) zeros(1,N-2*q-1) ones(1,q)]; X=fft(x/N);

m=ceil(-(N-1)/2):ceil((N-1)/2); stem(m*D,shift(X),'b','fill');

对于在足够逼近条件下,magnetude可以得到足够良好近似值;(能量逼近);但计算出的phase不会得出良好近似值(通常不采用);

关键:N的选取(足够大以获得良好近似,足够小以减少运算量) 根据设定的精确度,求出最小的N:

令N=2n,选定n的特定值,再逐1增加;重复计算在Nyquist范围内的系数差,直到

系数差小于设定值为止;

例2.6 根据设定最大误差,自动选取最小采样点数量,并求出满足要求的频谱 例2.5题的求解 % program 2.6

a=1;b=100;P=4;D=2*pi/P;beta=1; while b>beta

N1=2^a;T1=P/N1;q1=floor(1/T1);

x1=[ones(1,q1+1) zeros(1,N1-2*q1-1) ones(1,q1)]; X1=fft(x1/N1);

N2=2*N1;T2=P/N2;q2=floor(1/T2);

x2=[ones(1,q2+1) zeros(1,N2-2*q2-1) ones(1,q2)]; X2=fft(x2/N2); m1p=0:N1/2;

d=max(abs(abs(X1(m1p+1))-abs(X2(m1p+1)))); mm=max(abs(X1(m1p+1))); b=d/mm*100; a=a+1; end N2,b

m=-N2/2+1:N2/2;

stem(m*D,abs(shift(X2)));

对此程序作少数改动可以得到对其他信号的计算:

P.73 例2.14

平均功率计算 CT信号

Pav?Pav?m???N?1?cmm?0?2

DT信号 例2.15

?cmd2

9

分别采用时域序列和频谱序列求信号平均功率 例2.4题的信号功率 %program 2.8

P=2*pi/0.3;N=11;T=P/N; n=0:N-1;

x=-1.2+0.8*sin(0.6*n*T)-1.6*cos(1.5*n*T); P1=sum(x.^2)*T/P X=fft(x/N);

P2=sum(abs(X).^2) 例2.16

采用频谱序列求信号平均功率 例2.5题的信号功率 %program 2.9 N=1024;D=2*pi/4;

x=[ones(1,257) zeros(1,511) ones(1,256)]; X=fft(x/N); mu=floor(5/D); m=2:mu+1;

p=abs(X(1))^2+2*sum(abs(X(m)).^2)

第三章 CTFT和DTFT---一般信号的频谱 实际信号都是非周期信号(非双边信号) 周期信号对应于离散频率分量(离散频谱) 非周期信号对应于连续频谱

CTFT 连续时间信号的付氏变换 定义式

x?t??1?2????X???ej?td?

X????????x?t?e?j?tdt 频谱

存在条件:x?t?绝对可积,而且在一个周期内间断点和极值点有限; 3.1 e

at

u(t) 的频谱x?t??eatu?t???FT?1j??aa?0 例

10


matlab 数字信号处理教程(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:教育学中常用的理论汇总

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: