Единицы для Matlab PSD
Я новичок в Matlab и, как часть моего университетского задания, я должен составить эти сигналы на Matlab. И у меня есть некоторые проблемы, касающиеся единиц 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))
я был бы чрезвычайно благодарен любому, кто может помочь мне, говоря мне единицы измерения, которые я должен использовать для оси x спектра psd, ось y находится в дБ, что я получил. Я не знаю, что для x
1 ответ
Если вы смотрите на свой первый пример, координата x графика (z) должна быть временем. В конце концов вы определяете j как временной индекс и генерируете свою z-функцию как функцию z(t).
Если я не ошибаюсь, ваша функция z является синусом структуры 2*pi*omega*time
с omega
быть постоянной (5).
Если у вас есть дополнительная информация об этой константе, вы можете более точно указать ее ось X.
На самом деле вы можете просто посмотреть на свою функцию: показатели, а также треугольные функции (синус, косинус и т. Д.) Должны быть без измерения (секунды, метры, кг и т. Д.)
Если вас интересуют единицы измерения для функции psd, это спектр. Это означает, что ось X является частотной областью (1/ секунд = 1 Гц). В Matlab 8.2 рекомендуется использовать спектр (z) вместо psd(z)