我是matlab的新手,作为我大学作业的一部分,我应该在matlab.and上绘制这些信号,我对psd图的单位有一些问题。
1)j=0:1/100:1; %time index
z=sin(2*pi*5*j); %sine wave signal
z=z*2;
plot(z),xlabel('Sampling Points'),ylabe;('Amplitude');
figure,psd(z)
2)noise=rand(1,100);
plot(noise);
figure,psd(noise);
3)[B,A]=butter(10,3/50,'low');
LPFz=filtfilt(B,A,z);
plot(LPFz)
figure,psd(LPFz)
4)y=wavread('sp1.wav');
Fs=44100; %sampling frequency
wavplay(y,Fs);
save sp1.mat y
plot(y(:,1)),title('Waveform of Speech'),xlabel('Sample Points'),ylabel('Amplitude')
figure,psd(y(:,1))我非常感谢任何能帮助我的人,告诉我应该用来表示psd谱的x轴的单位,y轴是dB,我不知道x的值是什么
发布于 2014-05-12 19:46:21
如果您正在查看您的第一个示例,那么plot (z)的x坐标应该是time。毕竟,您将j定义为时间索引,并将z函数生成为函数z(t)。
如果我没记错的话,你的z函数是结构2*pi*omega*time的正弦,omega是一个常数(5)。
如果你有更多关于常量的信息,你可以更具体地了解你的x轴。
事实上,您可以只查看您的函数:指数和三角函数(正弦、余弦等)必须是无量纲的(秒、米、公斤等)。
如果你想知道psd函数的单位,它是一个谱。这意味着x轴是一个频域(1/秒=1 1Hz)。在Matlab 8.2中,建议使用spectrum(z)而不是psd(z)
https://stackoverflow.com/questions/23606999
复制相似问题