• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Measurement?。樱簦酰洌椋锏男盘柼幚硐到y(tǒng)設計

    2009-11-17 09:04:22周宏強
    中國校外教育(下旬) 2009年13期
    關(guān)鍵詞:信號處理控件正弦

    周宏強

    [摘 要]:本文采用虛擬儀器軟件NI Measurement Studio實現(xiàn)了典型的信號處理系統(tǒng)。該程序在VC++.NET環(huán)境中調(diào)試通過,通過引入Measurement Studio用戶界面控件和分析函數(shù)庫,該設計可以將混有高斯白噪聲的正弦信號通過濾波提取出,并且分別計算得到其頻譜。該方法開發(fā)效率高,試驗結(jié)果準確可靠。

    [關(guān)鍵詞]:Measurement StudioVisual C++ 頻譜 濾波

    一、引言

    本文實現(xiàn)了一個采用虛擬儀器軟件Measurement Studio的信號處理系統(tǒng)。Measurement Studio是美國國家儀器公司(National Instruments)針對測控工程、高級科學分析、數(shù)據(jù)采集(DAQ)等領(lǐng)域而開發(fā)的最優(yōu)化儀器控制助手。Measurement Studio集成到Visual Studio的開發(fā)環(huán)境中,提供包括各種類別和測試、測量與自動化應用的控件,極大地縮短了應用開發(fā)時間。典型的信號處理系統(tǒng)包括信號的濾波,頻譜變換等。本文使用Visual C++與Measurement Studio設計實現(xiàn)了信號的濾波及頻譜變換。

    二、構(gòu)建一個Measurement Studio應用程序

    以Visual Studio .NET 2003為例,介紹使用Visual C++開發(fā)Measurement Studio程序的方法。在安裝Measurement Studio成功后,打開菜單,選擇新建項目,在彈出的對話框中左側(cè)項目一欄中選擇“Measurement Studio Projects/Visual C++ Projects”,模板一欄中選擇“MFC Application”,填上項目名稱點擊確定按鈕。然后,會彈出Measurement Studio MFC Application向?qū)АH缓?根據(jù)自己的開發(fā)需求進行選擇,以確定應用程序的特性。

    在生成的對話框模板上放置四個CWGraph控件,一個CWSlide控件,兩個Button以及四個Static Text控件。其布局如圖1示:

    三、信號濾波

    在為“產(chǎn)生信號”按鈕添加響應函數(shù),主要功能是產(chǎn)生正弦信號和高斯白噪聲,通過濾波得到原始的正弦信號。源代碼如下:

    double NoiseAmp=0.5;//噪聲幅度

    double SineAmp=1.0;/正弦信號幅度

    double Cycles=5.0;//正弦信號周期

    double phase=0.0;//正弦信號相位

    CNiReal64Vector vNoise(1000);//噪聲數(shù)據(jù)

    CNiReal64Vector vFNoise(1000);//濾波后噪聲數(shù)據(jù)

    CNiReal64Vector vData(1000);//原始數(shù)據(jù)

    CNiReal64Vector vFilter(1000);//濾波后數(shù)據(jù)

    double fs=1000;/1000個采樣點

    double FreqLowCut=24;//低通濾波器截止頻率24 Hz

    double FreqHighCut=150;//高通濾波器截止頻率150 Hz

    CNiMath::WhiteNoiseWave(vNoise, NoiseAmp, -1); //產(chǎn)生高斯白噪聲

    //濾除噪聲信號的低頻部分

    CNiMath::ButterworthHighPass(vNoise, vFNoise, fs, FreqHighCut);

    //產(chǎn)生正弦波

    CNiMath::SineWave(vData, phase, SineAmp, (Cycles/vData.GetSize()));

    vData=vData+vFNoise; //噪聲加入到正弦波中

    //將信號通過低通濾波器

    CNiMath::ButterworthLowPass(vData, vFilter, fs, FreqLowCut);

    m_Graph1.PlotY(vData); //在”有噪信號”圖表控件上繪制數(shù)據(jù)曲線

    m_Graph3.PlotY(vFilter); //在”去噪信號”圖表控件上繪制數(shù)據(jù)曲線

    四、計算信號頻譜

    信號處理中往往需要計算信號的頻譜,可以通過Measurement Studio提供的庫函數(shù)直接計算信號的雙邊譜,下面的源代碼是以有噪信號為例計算信號的單邊譜:

    CNiReal64Vector realData1,imagData1;//數(shù)據(jù)實部、虛部

    realData1.SetSize(vData.GetSize());

    imagData1.SetSize(vData.GetSize());

    realData1=vData;

    CNiMath::FFT(realData1,imagData1);//FFT變換

    UINT numPts = vData.GetSize()/2;

    double scalingFactor = 1.0/fs;

    double deltaFreq = fs*scalingFactor;

    CNiReal64Vector frequencyData1(numPts);

    CNiReal64Vector zaosheng1(numPts);

    for(unsigned long i = 0;i< numPts;i++)

    {

    double a=abs(realData1[i]);

    double b=abs(imagData1[i]);

    zaosheng1[i]=sqrt((a*a+b*b));

    }

    for(UINT i=1;i

    {

    frequencyData1[i]=zaosheng1[i]*scalingFactor*sqrt(2.0);

    }

    frequencyData1[0] = zaosheng1[0]*scalingFactor;

    m_Graph2.PlotY(frequencyData1,0.0,deltaFreq);//繪制第一幅圖的頻譜

    五、結(jié)束語

    通過使用Measurement Studio提供的用戶界面控件和分析函數(shù)庫,在Visual C++環(huán)境中實現(xiàn)了典型的信號處理系統(tǒng),降低了開發(fā)此類程序的復雜性,縮短了程序開發(fā)周期。實踐證明,本方法具有準確性高、可靠穩(wěn)定性好等特點。

    參考文獻:

    [1]陳后金.數(shù)字信號處理[M].北京:高等教育出版社,2005.

    [2]孫沉芳.基于MeasurementStudio的數(shù)字濾波器設計與實現(xiàn)[J].蘭州交通大學學報,2006,(12):33-35.

    [3]岳瑋.基于MeasurementStudio的數(shù)據(jù)采集系統(tǒng)的設計與實現(xiàn)[J].北京機械工業(yè)學院學報,2006,(9):1-3.

    猜你喜歡
    信號處理控件正弦
    例說正弦定理的七大應用
    正弦、余弦定理的應用
    《信號處理》征稿簡則
    信號處理(2018年5期)2018-08-20 06:16:02
    《信號處理》第九屆編委會
    信號處理(2018年5期)2018-08-20 06:16:00
    關(guān)于.net控件數(shù)組的探討
    軟件(2018年7期)2018-08-13 09:44:42
    《信號處理》征稿簡則
    信號處理(2018年8期)2018-07-25 12:25:42
    《信號處理》第九屆編委會
    信號處理(2018年8期)2018-07-25 12:24:56
    “美”在二倍角正弦公式中的應用
    基于VSG的正弦鎖定技術(shù)研究
    就這樣玩會VBA中常見的自定義控件
    電腦迷(2012年24期)2012-04-29 00:44:03
    丰原市| 吉安市| 三穗县| 白山市| 岢岚县| 南阳市| 灌云县| 肥东县| 华容县| 鹤庆县| 武山县| 芮城县| 鄂托克前旗| 汉寿县| 浏阳市| 桂林市| 富民县| 基隆市| 中卫市| 甘肃省| 玉龙| 香格里拉县| 德令哈市| 宣汉县| 桂林市| 扎赉特旗| 甘孜| 岳池县| 行唐县| 墨玉县| 剑阁县| 鹤峰县| 竹北市| 进贤县| 沁水县| 武胜县| 延安市| 牡丹江市| 施秉县| 扎赉特旗| 东丰县|