找回密码
 注册
Simdroid-非首页
查看: 63|回复: 0

Matlab中关于噪声的几个问题

[复制链接]
发表于 2012-11-30 16:10:10 | 显示全部楼层 |阅读模式 来自 新加坡

1. Matlab中fft函数和psd函数有什么异同?

2. 一个白色噪声,randn(n) 产生,那么fft后得到的谱是否应该是在频域上一条等高的直线?高度应该是多少?我实际做了一下,fft后在频域内为何也是noise?

3. 给定一个随机震动加速度功率谱密度图(也就是有色噪声),如何得到加速度的时域曲线?最好给一个简单的matlab实例。

4. 下面一段matlab的代码

Fs = 1000;                    % Sampling frequency 采样频率如果小于240Hz, 那么因为是考虑单边频域,120Hz,那么信号中的120Hz将在频域中丢失,这样理解对吗?
dT = 1/Fs;                     % Sample time
L = 3000;                     % Length of signal
t = (0:L-1)*dT;                % Time vector

% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t));     % Sinusoids plus noise

figure1=figure();
plot(t(1:200),y(1:200))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('Time(s)')

NFFT = 2^nextpow2(L); % Next power of 2 from length of y  为何要保证 NFFT数目大于信号长度L?
Y = fft(y,NFFT)/L; % 为何fft后的数要除以信号长度?fft和psd区别是什么?
f = Fs/2*linspace(0,1,NFFT/2); %因为是单边,所以f向量存的频率最大是 Fs/2=500Hz, 现在fft后有NFFT个点,对应了正负所有频率的点,因为取单边,所以也就只要NFFT/2个点,对吗?

% Plot single-sided amplitude spectrum.
figure2=figure();
plot(f,2*abs(Y(1:NFFT/2))) %single side, 因为单边,所以把原本的负频率的功率也加到了单边的频率上,所以功率*2 保证能量和原来的信号的能量一致,对吗?


对于信号处理,我是菜鸟,非常感谢!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 09:09 , Processed in 0.027499 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表