欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

聚星C#數(shù)字信號處理工具包頻譜分析的用法

 更新時(shí)間:2023年02月26日 13:20:44   作者:JXISH  
這篇文章主要介紹了聚星C#數(shù)字信號處理工具包頻譜分析的用法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

聚星C#數(shù)字信號處理工具包頻譜分析

JXI C# DSP Tools, Spectrum Analysis

聚星針對C#平臺開發(fā)了數(shù)字信號處理工具包。 這里講解頻譜分析用法:

引用

SeeSharpTools.JXI.DSP C:\SeeSharp\JXInst\SeeSharpTools\DSP\Bin\SeeSharpTools.JXI.DSP.dll

代碼

Complex[] readData = new Complex[AILength];
double[] spectrum = new double[AILength];
...

SpectrumTask _spectrumAnalyzer;
_spectrumAnalyzer = new SpectrumTask();
_spectrumAnalyzer.InputDataType = InputDataType.Complex;  //復(fù)數(shù)IQ頻譜
_spectrumAnalyzer.SampleRate = aiTask.SampleRate;  //這里放采樣率
_spectrumAnalyzer.WindowType = FFTWindowType.Blackman_Harris;  //B=2.0044 窗函數(shù)
_spectrumAnalyzer.Unit.Type = SpectrumOutputUnit.dBm;//單位
_spectrumAnalyzer.Unit.Impedance = 50;//電阻
_spectrumAnalyzer.Unit.IsPSD = checkBoxPSD.Checked;//是否密度譜
_spectrumAnalyzer.Output.NumberOfLines = AILength;  //頻譜線數(shù)量,可以是時(shí)域波形長度
_spectrumAnalyzer.GetSpectrum(readData, ref spectrum);
  • aiTask.SampleRate
  • checkBoxPSD.Checked
  • spectralLines
  • readData
  • spectrum

應(yīng)該根據(jù)實(shí)際情況改成你的程序里面的變量。

其中readData是輸入時(shí)域波形,spectrum是頻譜。

C# 數(shù)字信號處理工具包 DSP-Core 重采樣(Resample)輸出點(diǎn)數(shù)是多少

問題:

DSP-Core里面的EasyResample是簡單的輸入-輸出方法。(SeeSharpTools.JXI.SignalProcessing.Conditioning.EasyResample)

如果你輸入1000個(gè)點(diǎn),要求輸出(歸一化)采樣間隔0.1,也就是內(nèi)插10倍,輸出是8300個(gè)點(diǎn)。為什么不是10,000個(gè)點(diǎn)呢?

重采樣截短效應(yīng)

本算法是利用有限長沖激響應(yīng)濾波器,實(shí)現(xiàn)頻譜失真極小的采樣率轉(zhuǎn)換。這種轉(zhuǎn)換是根據(jù)171個(gè)采樣點(diǎn)內(nèi)插估計(jì)進(jìn)行重采樣的。由于軟件不知道你給出的波形前后是什么情況(邊界條件),軟件只計(jì)算中間一段的波形,也就是要把原始采樣的170個(gè)采樣點(diǎn)(頭尾各85個(gè)點(diǎn))作為邊界條件。

那么在計(jì)算內(nèi)插或者篩減的時(shí)候就先要去掉170個(gè)點(diǎn)。

在前面問題假設(shè)情況下,1000個(gè)點(diǎn)減掉170個(gè)點(diǎn),再內(nèi)插10倍:

(1000-170)*10 = 8300

例:

對于降采樣,比如歸一化采樣間隔10,1000個(gè)點(diǎn)輸入得到

(1000-170) / 10 = 83個(gè)點(diǎn)輸出

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論