實時測量待測頻率頻譜幅值

2021-09-22 18:41:09 字數 1240 閱讀 3991

針對聲學測量關於聲干涉現象的測量實驗 為方便同學們測量實驗

利於matlab dsp工具箱 實現了乙個實時測量待測頻率頻譜幅值的功能

都是預設裝置 一般是接上麥克風直接用

clc;

clear all;

%% 設定

mic=dsp.audiorecorder;

% mic=audiodevicereader;

spectrum=dsp.spectrumanalyzer;

mic.samplesperframe=44100;

mic.buffersizesource='property';

mic.buffersize=44100;

mic.samplerate=44100;

mic.queueduration=0;

% mic.devicename=;

mic.numchannels=2;

speaker=dsp.audioplayer;

% speaker=audiodevicewriter;

%latency=(queueduration×samplerate+2×buffersize)/sampleratex

f0=1000;%待測頻率

%% 迴圈

while(1)  

audio=step(mic);

x=audio(:,1);%取左聲道

m=fft(x);

p2 = abs(m/mic.samplesperframe);

p1 = p2(1:mic.samplesperframe/2+1);

% p1(2:end-1) = 2*p1(2:end-1);

f = mic.samplerate*(0:(mic.samplesperframe/2))/mic.samplesperframe;

figure(1)

stem(f,p1);

title('原始訊號')

xlabel('f (hz)')

ylabel('|p1(f)|')

p=p2(f0+1)*1000 %(mic.samplerate*(1001)/mic.samplesperframe);

%因為一秒 取樣點數與取樣率相同所以 頻譜間隔是1 就不計算了 要是需要修改用後面公式

%*1000 為了好看 最後取db無影響

%fprintf('頻譜密度:%f',p);

%fprintf('功率譜密度:%f',p^2);

end

Rife插值測頻

近日整理發現了部分幾年前寫的 差點忘了寫過它們。現在貼在這裡,說不定哪天還能用一用。clc clear all close all show figure a 1 show figure b 1 f 905 fs 3000 n 128 t 0 n 1 fs s cos 2 pi f t 時域加窗 w...

雷達對抗 頻率測量與頻譜分析 頻率搜尋與測頻技術

一 搜尋式超外差測頻技術 搜尋式超外差雷達測頻系統的基本組成如下所示。雷達訊號通過接收天線 低噪放進入微波預選器,微波預選器從密集的訊號環境中選出一定通帶內的雷達訊號送入混頻器,與本振電壓差拍變為中頻訊號 再經過中放 檢波器和視放,送給處理器 最後通過改變本振頻率實現頻率搜尋。在搜尋過程中,為了始終...

電賽備戰1 時頻測量

1.對於方波,可以用定時器的輸入捕獲或者pwm模式來實現。使用pwm模式的時候乙個定時器就最多只能使用兩個輸入通道,因為乙個輸入通道占用了兩個捕獲通道。但是有大神指出,這樣做的硬體誤差實在太大。乙個比較可行的方法是內部使用乙個定時器來計時,而再使用乙個外部定時器作計數器。這樣就可以知道特定時間內訊號...