周期信号的傅⽴叶变换的matlab实现,周期信号的傅⾥叶分析与⾮周期信号的傅⾥叶变换(MA。。。
1.连续时间周期信号的傅⾥叶级数分析
任何⼀个周期为T的正弦周期信号,只要满⾜狄利克⾥条件,就可以展开成傅⾥叶级数,(⾄于为什么能展开傅⾥叶级数和什么是狄利克利条件,这⾥先不说,我们知道有这样的结论就好)。三⾓形式的傅⾥叶级数为:
matlab求傅里叶变换或写成合并的形式:
,
其中(这⾥⽤括号代表下标)w(0)=2*pi/T, a(0),a(k),b(k)分别代表直流分量,余弦分量幅度,正弦分量幅度,C(k),
为合并后的各正弦谐波分量的幅度和初相位,这两个都是kw(0)的函数,画出它们与kw(0)之间的关系的图像称为信号的频谱图,C(k)—
kw(0)图像为幅度谱,
—kw(0)为相位谱。
傅⾥叶级数就是说⼀个周期信号能够由⽆限个不同频率的正弦信号组成,这些正弦信号称为谐波分量,⽽频率随着k的增⼤⽽增⼤,k=1为⼀次谐波,k=2为⼆次谐波,可知谐波的次数越⼤,频率就越⼤(越往后的谐波分量在这个信号中占的份量就越⼩,即影响不⼤所以k可以取到有限)。也可以反过来理解:⽤⽆限个正弦谐波分量可以合并成⼀个任意的⾮正弦周期信号。(这就可以理解为什么会有⽤频带滤波器来消除噪⾳,所谓的噪⾳可看成是⼀个频率较⼩的谐波分量,加到信号上⾯就使信号变了样,所以这时候要去掉和噪⾳频率相近(因为不知道噪⾳频率是多少)的谐波分量就是频带滤波,同样的低通⾼通也⼀样,通过对相应的频率进⾏处理,只不过这时候就要换到频域上⾯才能进⾏滤波,上⾯说到的两个频谱图就是换到频域上的例⼦)。
由欧拉公式,可以把三⾓形式的傅⾥叶级数换成指数形式的傅⾥叶级数为:
这样周期信号也可以由⽆限个不同频率的互为谐波关系的周期复指数信号组成。
其中a(k)为指数形式的傅⾥叶级数的系数。
其实系数a(k)与三⾓形式中的a(k),b(k)有关系,a(k)=1/2*(a(k)-jb(k)),所以a(k)为⼀个复数,绝对值为该谐波分量的幅度,相位⾓可由实数a和虚数b得到。(为什么会有正负呢?这完全是数学运算的结果,只有把负频率项与相应的正频率项成对地合并起来,才是实际的频谱函数。)
2.⽤MATLAB画出⼀个周期信号的频谱图
T=2;dt=0.0001;t=-2:dt:2;
>> x1=sin(t);
>> w0=2*pi/T;
>> N=10;
>> L=2*N+1;
>> for k=-N:N; %表⽰谐波分量
ak(N+1+k)=(1/T)*x1*exp(-j*k*w0*t')*dt;
end
>> phi=angle(ak);
>> subplot(211);
>> f=(-N:N)*w0
>> plot(f,abs(ak))
>> subplot(212);
>> plot(f,phi)
3.⾮周期信号的傅⾥叶变换分析
这⾥就不说明⾮周期信号的傅⾥叶变换怎么得来,怎么由离散频率变为连续频率了。直接来两条公式再对公式进⾏说明。
傅⾥叶变换和其逆变换:
,,
任意⾮周期信号,如果满⾜狄利克⾥条件,那么,这个信号可以看成是由⽆穷多个不同频率(这些频率⾮常的接近,可看作连续)的周期复指数信号的线性组合构成的。每个频率对应的周期复指数信号称为频率分量,其相对幅度为对应频率的|X(jw)|的值,其相位为对应频率的相位X(jw)的相位。
MATLAB实现,由于计算机只能处理有限⼤⼩的数,所以只能取⼀定的值。
>> T=0.01;dw=0.1;
>> t=-10:T:10;
w=-10:dw:10;
for jw=w
X(w+11)=x1*exp(-j*t'*w)*T %计算傅⾥叶变换
Xf=abs(X); %计算幅度谱
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论