我試圖從我連接到我的電腦的麥克風使用matlab獲得頻率響應曲線。獲取我的麥克風的頻率響應
我覺得我非常接近最終的代碼,但我想我錯過了一些東西。
這就是我現在所擁有的:
close all, clear all, clc
x = 5; % seconds recording
Fs = 44100; % Sampling frequency
T = 1/Fs; % Sample time
L= x*1000; % Length of signal
t = (0:L-1)*T; % Time vector
% Record your voice for 'x' seconds.
recObj = audiorecorder(Fs, 24, 1);
disp('Start of Recording.');
recordblocking(recObj, x);
disp('End of Recording.');
% Store data in double-precision array.
myRecording = getaudiodata(recObj);
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
fourier = fft(myRecording);
Y = fft(myRecording,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
X = 2*abs(Y(1:NFFT/2+1));
samples = get(recObj,'TotalSamples');
plot(f,X)
title('Single-Sided Amplitude Spectrum)
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
的這部分代碼是正確的,我認爲。 例如,當我玩的5kHz的語氣我得到這個情節:
現在我玩粉紅噪聲,並添加代碼,將其轉換爲dB的這一小部分,所以我可以得到的頻率響應曲線:
dbX = db(X);
plot(f,dbX)
我希望(或我的目標是..)的頻率響應曲線(你可以找到關於谷歌的圖像,例如,我沒有超過2個鏈接足夠的聲譽,很抱歉我沒」這裏使用圖片鏈接),但我得到了這個:
顯然我做錯了什麼,但我不知道是什麼..
嗡嗡聲,我不太瞭解這個,但是,爲什麼粉紅噪聲頻率圖錯誤?你在期待什麼? –
我的目標是得到這樣的東西:http://www.acoustics.salford.ac.uk/acoustics_info/microphones/microphones_files/image013.jpg 煤礦甚至不在0dB左右,或者不是一條扁平線或某種東西.. –
這只是一個縮放的問題,信號。還要注意情節說'相對響應'。 – mpaskov