1. 程式人生 > >PWM波形的simulink模擬

PWM波形的simulink模擬

1.PWM波形的原理
參考《數字與模擬通訊系統》對PWM產生的原理性描述。
PWM波的形成本質上同樣為調製。被取樣的訊號為調製訊號,脈衝訊號作為載波訊號。產生的PWM波為最終的已調訊號。
產生PWM波的流程如下:
瞬時取樣→取樣保持→波形合成→電平比較→產生PWM

  1. 瞬時取樣+取樣保持
    瞬時取樣與取樣保持就是一個平頂PAM取樣的過程。在過程中,滿足取樣定理的前提下,我們可以把載波脈衝訊號理想化為衝擊脈衝序列。
    假設模擬波形為帶通訊號w(t),載波脈衝波形為h(t)
    這裡寫圖片描述
    最終得到的已調訊號,即取樣訊號為ws(t)

    取樣結果如下圖所示:

    取樣結果
    取樣保持:
    在取樣後的結果可以看到取樣得到的波形並不是平頂的,因此對它進行一個取樣保持,得到平頂波形。
    波形結果如下圖所示:
    平頂取樣PAM結果

  2. 波形合成
    在通過平頂PAM後,可以得到幅度大小不同的脈衝波形,此時的波形已經包含了調製訊號的幅度資訊。PWM產生的實質是改變脈寬的寬度,為了改變脈寬的寬度,需要在現有的取樣波形上加上一個同源的鋸齒波訊號,再通過電平比較器劃定電壓閾值。因此這裡需要一個同源的鋸齒波訊號。
    simulink中產生鋸齒波的方式有多種。本模擬中採用鋸齒波發生器sawtooth generator,產生的鋸齒波的幅度為+1~-1,為了保證疊加的效果,將鋸齒波產生的波形通過了一個if系統,只留下幅度為0~+1的部分。(方法不唯一)。
    幅度為0~+1

  3. 電平比較
    電平比較器是獲得最終pwm波形所需要的最後一步,simulink中採用compare constant 來模擬。當幅度高於某一閾值時,幅值保持為某一電平值,低於該閾值時,幅值保持為0.
  4. 產生PWM波
    PWM波形
    注:1. 本模擬中沒有解決調製訊號為負值的時候的pwm波形產生;
    2 . 未推理出產生的PWM波形與載波訊號的數學關係;
    pwm_test

相關推薦

PWM波形simulink模擬

1.PWM波形的原理 參考《數字與模擬通訊系統》對PWM產生的原理性描述。 PWM波的形成本質上同樣為調製。被取樣的訊號為調製訊號,脈衝訊號作為載波訊號。產生的PWM波為最終的已調訊號。 產生PWM波的流程如下: 瞬時取樣→取樣保持→波形合成→電平比較→

STM32f103ZET6 TIM8輸出PWM波形

自動 裝載 產生 初始 輸出 時鐘 void 說明 nbsp 定時器8屬於高級定時器,只存在於大容量產品的103系列中,定時器8輸出PWM波形時與通用定時器2、3、4、5不同,必須同時開啟主輸出(TIM8->BDTR|=0x8000;)才能產生PWM波,其配置如下:

matlab simulink 模擬時出現如下錯誤怎麼辦

如果:The block diagram 'APFI' uses bus signals. However, the 'Mux blocks used to create bus signals' diagnostic is not configured to 'error'. To preve

stm32 學習 (設定TIM4輸出4路 pwm J-LINK模擬驗證)

使用微控制器:stm32f103c8t6  資源 RAM: 20K; flash: 64K;CPU頻率: 72M;通用I/O: 32個;UART: 3個;SPI:2個;USB:1個;CAN: 1個;IIC: 2個 12 位同步 ADC: 2 組 10 通道 ; 

stm32 學習 (設定TIM4輸出4路 pwm J-LINK模擬驗證)

使用微控制器:stm32f103c8t6  資源 RAM: 20K; flash: 64K;CPU頻率: 72M;通用I/O: 32個;UART: 3個;SPI:2個;USB:1個;CAN: 1個;IIC: 2個 12 位同步 ADC: 2 組 10 通道 ;     

用邏輯分析儀採集PWM波形,出現斷斷續續的脈衝解決辦法

有時候用邏輯分析儀採集PWM波形時,會發現採集到的PWM波形在一段規則的PWM後會出現一段較長的高電平或低電平,這是因為邏輯分析儀的上位機採集引數設定不合適,應該適當調高取樣頻率。 10M Samples          1MHz 10M Samples        

BP神經網路+PID控制simulink模擬

      最近看到楊藝的那篇《基於S函式的BP神經網路PID控制器及simulink模擬》,也想是否能夠實現Simulink模擬,於是上網搜尋相關資料,發現原來有許多前輩(1點選開啟連結 2 點選開啟連結 3點選開啟連結)早已經做過類似的工作了,並且總結出許多經驗和錯誤,但

STM32_TIM輸出PWM波形

前言 今天講解“STM32F103  TIM輸出PWM波形”,提供的軟體工程支援最大輸出18MHz的PWM波形,函式介面只有兩個引數:頻率Freq 和 佔空比Dutycycle。 定時器的功能很強大,今天講解的PWM屬於定時器中比較輸出的功能,難度算一般吧(懂了的人決定很

STM32 PWM波驅動模擬舵機(庫函式版)

數字舵機 vs 模擬舵機 “數字舵機區別於傳統的模擬舵機,模擬舵機需要給它不停的傳送PWM訊號,才能讓它保持在規定的位置或者讓它按照某個速度轉動,數字舵機則只需要傳送一次PWM訊號就能保持在規定的某個位置。” "到底模擬舵機與數碼舵機在實際使用中有什麼區別呢?我自己總結大致

Matlab2013a中simulink模擬無法啟動C編譯器的解決方法

錯誤資訊: "Unable to locate a C-compiler required by Stateflow and MATLAB Function blocks. Use 'mex -setup' to select a supported C-compiler.

51微控制器輸出pwm波形

#define FOSC 11059200L #define T1MS (65536-FOSC/12/1000) unsigned char count_1; unsigned char count_2; unsigned char duty_cycle_1; unsign

matlab之simulink模擬入門

Matlab Simulink模擬工具的應用 ****Simulink是一個用來對動態系統進行建模、模擬和分析的軟體包。使用Simulink來建模、分析和模擬各種動態系統(包括連續系統、離散系統和混合系統),將是一件非常輕鬆的事情。 它提供了一種圖形化的互動

STM32定時器輸出帶有死區時間的PWM波形

要求得到下列波形,死區時間為1us,CH1,CH2,CH3之間的相位差為3us,頻率為50KHz main.c /********************************************* 標題:定時器輸出帶有死區時間的PWM波形 軟體

永磁同步電機向量控制(四)——simulink模擬搭建

0 整體模擬截圖 1 電機模型的選擇及引數設定 1.1 型號設定 永磁同步電機的英文縮寫為PMSM,全稱 Permanent Magnet Synchronous Machine。在 library 內搜尋 Permanent 即可找到它。 number

STM32 CubeMX輸入捕獲測量PWM波形頻率與佔空比

使用的開發板是官方的STM32F412ZGTx NUCLEO開發板。本次主要是為了對PWM波形進行脈寬和頻率的測量。很多的工程使用的是軟體對同一個通道進行3次捕獲,比較耗費系統資源,本次介紹使用硬體進行捕獲,儘可能降低程式碼的工作量。首先開啟CubeMX,做如下設定:1.先設

STM32基礎知識2-分享PWM輸入模式捕捉4路PWM波形的週期和佔空比

前幾天分享過一個帖子,因為網速原因沒有上傳原始碼,看到有人回覆我說實驗不成功,那麼好吧!這是我的錯誤,這次就將原始碼和我的心得體會分享出來,供大家下載測試和成長。我其實也是菜鳥一個,如果講解的地方有啥不對,或是程式設計的不好,歡迎大家提出意見,讓我們一起來學習進步。ffic

51單片機模擬PWM調制控制實驗

占空比 代碼 時間 signed img 阻止 interrupt dig 重新 ———————————————————————————————————————————— PWM(脈沖寬度調制) 對模擬信號電平進行數字編碼的方法 - - - - - - - - -

Modelsim設置數據以模擬波形顯示

原始的 tomat .com 彈出 自動 分享 glob 這也 無符號 選中希望以模擬波形顯示的信號,右擊選擇format—>Analog(automatic) 如果你的數據是用無符號數表示一個完整的波形的,那麽可能顯示出來的波形樣子是下面的樣子,不過不要緊,

vcs + verdi 檢視模擬波形

軟體版本: vcs : 2017.03 verdi : 2017.12-SP2-1 unix : CentOS 6.0 makefile可以看到makefile中共有四個目標:前三個分別是 : “compile”, “sim”, “verdi”。分別代表了編譯,模擬,

51微控制器使用定時器中斷模擬PWM控制埠電壓

  最近應實驗室需求寫一篇51微控制器產生PWM的文章供參考.   微控制器晶片STC89C52,晶振12MHz,編譯環境Keil5.   分析:若使微控制器埠為高電平, 則微控制器輸出電壓為恆值5V. 反之低電平輸出電壓為0V. 但是我們如果在週期為T的時間內