MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助] 编码 下面函数 画频谱 (https://www.labfans.com/bbs/showthread.php?t=2415)

young266 2008-04-19 10:47

[求助] 编码 下面函数 画频谱
 
菜鸟遇到了,下面的函数,声音信号的函数模型
N
s(t)=∑cos(t)*cos(i*0.01*pi*t)
i=1

其中:N=6,
t=0:0.01:15;
怎么画出 函数的频谱?
谢谢大侠的帮助

28637634 2008-04-20 00:32

帮顶,同问。。。

watcher 2008-04-20 01:11

先计算时域信号,再通过fft函数获得幅频序列即可

young266 2008-04-20 13:17

[QUOTE=watcher;9017]先计算时域信号,再通过fft函数获得幅频序列即可...[/QUOTE]
N=6;
n=0;
for t=0:0.01:15;
for k=1:N;
a=cos(t);
y=cos(t*pi*0.1*k);
m=a*y;
end
n=m+n;
hold on;
plot(t,n);
end
上面是我写的时域信号,可是时域信号不是一个函数,而是个点---冲击,所以傅立叶变换后就是一常数....
这是老师给的毕业设计里面语音信号的函数模型。
恳请高手指点

watcher 2008-04-20 16:00

[QUOTE=young266;9034]N=6;
n=0;
for t=0:0.01:15;
for k=1:N;
a=cos(t);
y=cos(t*pi*0.1*k);
m=a*y;
end
n=m+n;
hold on;
pl...[/QUOTE]

外循环没必要,如下程序可生成时域信号序列
N=6;
n=0;
[COLOR="Red"]t=0:0.01:15;[/COLOR]
for k=1:N;
a=cos(t);
y=cos(t*pi*0.1*k);
[COLOR="Red"]m=a.*y;[/COLOR]
[COLOR="red"]n=m+n;
end[/COLOR]
plot(t,n);

young266 2008-04-21 14:41

太感谢了 呵呵


所有时间均为北京时间。现在的时间是 04:56

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.