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

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

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

聚星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ù)量,可以是時域波形長度
_spectrumAnalyzer.GetSpectrum(readData, ref spectrum);
  • aiTask.SampleRate
  • checkBoxPSD.Checked
  • spectralLines
  • readData
  • spectrum

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

其中readData是輸入時域波形,spectrum是頻譜。

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

問題:

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

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

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

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

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

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

(1000-170)*10 = 8300

例:

對于降采樣,比如歸一化采樣間隔10,1000個點輸入得到

(1000-170) / 10 = 83個點輸出

總結(jié)

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

相關(guān)文章

最新評論