找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2821|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

干貨!從示波器到MATLAB:如何實(shí)現(xiàn)電子信號的數(shù)學(xué)分析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:621124 發(fā)表于 2019-10-11 14:27 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
Matlab是一款應(yīng)用較廣的數(shù)學(xué)軟件,常用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級技術(shù)計(jì)算語言和交互式環(huán)境。
Matlab語言十分簡潔,這使得它在數(shù)值計(jì)算、矩陣計(jì)算等方面相對于C、Fortran等傳統(tǒng)語言有著無以倫比的優(yōu)越性。而其集成了易于使用的視窗環(huán)境,可以非常方便的繪制函數(shù)和數(shù)據(jù)圖層。Matlab常常引用于工程計(jì)算、控制設(shè)計(jì)、信號處理與通訊、圖像處理、信號檢測等領(lǐng)域。
Matlab是對已有數(shù)據(jù)的分析,而數(shù)據(jù)的采集則交由外部的采集儀來完成,比如麥克風(fēng)采集音頻信號、攝像機(jī)采集圖像光學(xué)信號、示波器采集電路信號等。示波器作為最常用的測量儀器可以直接或間接測量出大部分領(lǐng)域的可感知信號,包括音頻、光強(qiáng)、電磁波等(當(dāng)然前提得轉(zhuǎn)化為電信號才行)。
下面我們以mobileScope示波器 為例講解配合matlab對信號的分析。
首先采集一組三角波和正弦波信號。
采集一組三角波和正弦波信號
點(diǎn)擊導(dǎo)出,可將圖層數(shù)據(jù)導(dǎo)出來。
“導(dǎo)出”功能按鈕
數(shù)據(jù)文件所在目錄
打開軟件所在的文件夾,可以看到里面有個 analyse.m 的腳本文件和matlab的文件夾,導(dǎo)出的數(shù)據(jù)就放在里面命名方式為xxx.dat,將這兩個文件拷貝到電腦。
Analyse.m文件中集成了幾個比較經(jīng)典的demo,我們來看下幾個主要demo的代碼示例。
我們先打開analyse.m文件,將里面需要載入波形數(shù)據(jù)文件修改為實(shí)際采集的。
§
chDatas = load('wave17_01_03_17_42_34_824.dat');
§
matlab載入波形數(shù)據(jù)還是相對簡單的,一行語句就搞定,而且還自動生成相應(yīng)的矩陣。當(dāng)然matlab目前也支持使用C/C++,但顯然那會是一個相當(dāng)煩躁的編碼過程。
運(yùn)行:
matlab描繪的兩組波形
可以看出這個和示波器顯示的是一致的,比例有所壓縮,這個我們可以隨意用鼠標(biāo)調(diào)整。
基本矩陣運(yùn)算
Matlab支持豐富的矩陣運(yùn)算,加減乘除、微分、倒數(shù)、絕對值等等,都是幾行語句就搞定的事。
§
addition = ch1 + ch2; % 加法
§
§
subtraction = ch1 - ch2; % 減法
§
§
abs2 = abs(ch2); % 絕對值
§
波形加減后的圖形
上圖所示是波形加減后的圖形
李莎茹曲線
李莎茹圖形,又稱XY模式,可以用來測量兩路信號相位差,評定頻率比參數(shù)等強(qiáng)大的功能。這個在matlab上只需要一句語句就能畫出來的。
§
plot(ch1, ch2, '-g');
§
三角波和正弦波合成的李莎茹圖形
上圖所示既是三角波和正弦波合成的李莎茹圖形
時頻域運(yùn)算
對于信號處理來說,時域和頻域的轉(zhuǎn)換幾乎是用的最多的。離散傅里葉變換FFT可以方便的把一組時域信號轉(zhuǎn)換頻率的權(quán)重集合,直觀的反應(yīng)出一個信號的頻率成分。
§
ch1FFT = abs(fft(ch1, FFT_N));
§
頻率成份
上圖顯示出兩組信號的頻率成份
坐標(biāo)系轉(zhuǎn)換
直角坐標(biāo)系轉(zhuǎn)換為極坐標(biāo)顯示。
§
polarTRefer = -pi:2*pi/length(ch1):pi-2*pi/length(ch1);
§
§
polar(polarTRefer, ch1, 'g');
§
三角波信號的在極坐標(biāo)系下的顯示
正選波信號的在極坐標(biāo)系下的顯示
上面圖顯示兩個通道信號的在極坐標(biāo)系下的顯示
濾波處理
濾波是數(shù)字信號處理的一個比較復(fù)雜的問題,一個好的濾波器可以真實(shí)還原源數(shù)據(jù)信號有效屏蔽噪聲。Matlab集成低通濾波器。
§
filter_out = filter(filter_bz, filter_az, filter_in);
§
綠色是原始帶噪聲的信號,紅色為經(jīng)過濾波后的信號波形
上圖綠色是原始帶噪聲的信號,紅色為經(jīng)過濾波后的信號波形
曲線擬合
示波器采集的是離散點(diǎn)信號,有時候想要得到其擬合的曲線,以用于建立模型或者預(yù)測數(shù)據(jù)。典型的例子為,電池在沒電情況下的放電曲線,信號傳輸過程中的衰減特性曲線或者熱傳導(dǎo)曲線等。示波器采集的是離散帶噪聲的樣本,擬合的意義就是剔除干擾找到最佳的曲線。
曲線擬合的效果

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表