matlab对周期信号做傅里叶变换

只是简单的对正弦信号做傅里叶变换,为什么频谱图中出现了两个峰值,而我设定的信号频率是100,以下是我的程序,我想知道怎样能使图中的频率分量出现在-100和+100,还有另... 只是简单的对正弦信号做傅里叶变换,为什么频谱图中出现了两个峰值,而我设定的信号频率是100,以下是我的程序,我想知道怎样能使图中的频率分量出现在-100和+100,还有另外ff(x,n)这个n对于一般周期信号如何选择
fs=2000;%采样频率
N=100;%采样点数
f=100;%信号频率
t=1:N;
x1=sin(2*pi*f*t/fs);
figure(1)
plot(t,x1);
figure(2)
plot(t*(f/fs),x1);
y=fft(x1,N);%进行fft变换
mag=abs(y);%求幅值
f=(0:(length(y)-1))*fs/length(y);%横坐标频率的表达式为f=(0:M-1)*Fs/M;
figure(3)
plot(f,mag);
我画出的频谱是这样的
展开
 我来答
hdftigerd7e889c
2013-02-27 · TA获得超过1320个赞
知道小有建树答主
回答量:734
采纳率:77%
帮助的人:308万
展开全部
在“f=(0:(length(y)-1))*fs/length(y);”后面插入一句代码“f=fftshift(f,2)-fs/2;”
在fft变换后,必须做fftshift计算,不然是不对的。

另外,fft(x,n)中,n的取值表示的计算采样点总数。当x长度大于n时,fft计算只取x的前n个数据;当x长度小于n时,fft计算会在x后面补充0以凑够数据。这个n直接决定了fft变换后得到的最小分辨频率。也就是说,观测时间越长,数据越多,能够描述的最低频率越小,这也是符合常理的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式