登录论坛

查看完整版本 : [MATLAB基础] 菜鸟提问:方波幅频变换


logicmd
2009-04-12, 22:45
求出方波的频谱

ft=sym('(t+4)/2*Heaviside(t+4)-t*Heaviside(t)+(t-4)/2*Heaviside(t-4)');
Fw=simplify(fourier(ft));
Ff=subs(Fw, '2*pi*f', 'w');
Ff_conj=conj(Ff);
GF=sqrt(Ff*Ff_conj);
ezplot(GF,[-0.5 0.5]);grid;



网上流传的一段代码



都看得懂,就是第一行看不懂



明明不是方波,乘了t明明

[quote]

ft=sym('Heaviside(t+4)-Heaviside(t)+Heaviside(t-4)');


Fw=simplify(fourier(ft));

logicmd
2009-04-12, 22:46
求出方波的频谱

ft=sym('(t+4)/2*Heaviside(t+4)-t*Heaviside(t)+(t-4)/2*Heaviside(t-4)');
Fw=simplify(fourier(ft));
Ff=subs(Fw, '2*pi*f', 'w');
Ff_conj=conj(Ff);
GF=sqrt(Ff*Ff_conj);
ezplot(GF,[-0.5 0.5]);grid;


网上流传的一段代码

都看得懂,就是第一行看不懂

明明不是方波,乘了t明明

ft=sym('Heaviside(t+4)-Heaviside(t)+Heaviside(t-4)');

Fw=simplify(fourier(ft));


但是这样写却报错

本来想用fft,可是我写不出一个离散点形式的方波y,望高手指教!

logicmd
2009-04-12, 22:47
抱歉一开始不会编辑帖子

求出方波的频谱

ft=sym('(t+4)/2*Heaviside(t+4)-t*Heaviside(t)+(t-4)/2*Heaviside(t-4)');
Fw=simplify(fourier(ft));
Ff=subs(Fw, '2*pi*f', 'w');
Ff_conj=conj(Ff);
GF=sqrt(Ff*Ff_conj);
ezplot(GF,[-0.5 0.5]);grid;


网上流传的一段代码

都看得懂,就是第一行看不懂

明明不是方波,乘了t明明

ft=sym('Heaviside(t+4)-Heaviside(t)+Heaviside(t-4)');

Fw=simplify(fourier(ft));


但是这样写却报错

本来想用fft,可是我写不出一个离散点形式的方波y,望高手指教!