吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

離散化與代碼實現

汽車電子技術 ? 來源:開關電源仿真與實用設計 ? 作者:楊帥鍋 ? 2023-02-08 15:43 ? 次閱讀

前言:

一直有在用比例諧振控制器,是在matlab里面用C2D函數離散好了后直接使用參數,對于不同的電網頻率還需要修改一下參數。而且在運行過程中發現網側頻率改變也不能實時修改PR的控制參數來達到最佳的控制效果,因此我需要能在MCU里面實時進行PR多個系數的計算,提取,更新的操作。

poYBAGPjUjuAFMI9AAAnckfBzqo067.png

QPR因為緩解PR在諧振點的增益以及有更好的適應性,而被廣泛使用。傳遞函數中的wc用來調節QPR控制器在諧振點的增益帶寬,wc越小則QPR在諧振的增益峰值越接近PR。kr是QPR控制器在諧振點的增益值,wr則是QPR控制器的設定諧振頻率。參考文獻1中展示了一張不同的kr和wc的QPR的bode圖,可見:

poYBAGPjUlOATUUhAAQVOz3ycUU050.png

所以我們要在MCU中運行這個傳遞函數,第一步是需要將其進行Z變換離散化后得到Z域傳遞函數的系數,第二步是運行這個傳遞函數。

我們先來看第一步:使用雙線性變換來得到Z域傳遞函數。根據雙線性變換的公式,可以計算到這個QPR的s域傳遞函數到Z域的傳遞函數。

poYBAGPjUmKAK-AXAACBBVpczB4208.png

從上圖來看,是一個典型的二階Z域傳遞函數,但是有點麻煩的地方是分母的Z^2的系數不是1,因此還需要對其進行改寫一下,我把分子和分母都同時除以分母Z^2項的系數,從而使得這個傳遞函數可以提取標準化系數:B0,B1,B2,A1,A2,可見:

ts_x_ts = ts * ts;

wr_x_wr = wr * wr;

div_x = ts * ts * wr * wr + 4.0 * wc * ts + 4.0;

coeff_B0 = (4.0 * kr * wc * ts)/div_x;

coeff_B1 = 0;

coeff_B2 = -1*coeff_B0;

coeff_A1 = (2.0 * ts_x_ts * wr_x_wr - 8.0)/div_x;

coeff_A2 = (ts_x_ts * wr_x_wr - 4.0 * ts * wc + 4)/div_x;

經過上面的處理后,即可得到標準的2階Z域傳遞函數的系數,可見Matlab的輸出:

pr_1st_z = c2d(pr_1st, ts, 'tustin')%Matlab自帶函數

pr_1st_Z = tf([coeff_B0 coeff_B1 coeff_B2], [1 coeff_A1 coeff_A2], ts)%自己手動

兩者輸出一致,驗證了正確性。

pr_1st_z =

0.03912 z^2 - 0.03912

----------------------

z^2 - 1.992 z + 0.9922

Sample time: 2.5e-05 seconds

Discrete-time transfer function.

pr_1st_Z =

0.03912 z^2 - 0.03912

----------------------

z^2 - 1.992 z + 0.9922

Sample time: 2.5e-05 seconds

Discrete-time transfer function.

第二步就是使用IIR濾波器來根據上面提取的系數來得到所需的輸出了,其代碼為:

w(1) = inputl(i) - w(2) * a_coff(2) - w(3) * a_coff(3);

yout(i) = (w(1) * b_coff(1) + w(2) * b_coff(2) +w(3) * b_coff(3));

w(3) = w(2);

w(2) = w(1);

第三步打包封裝

我們的目的是使用QPR對1,3,5,7,9,11次諧波進行抑制,如果各個傳遞函數的kr和wc一致,則只需要調整wr到各個頻率即可??梢跃帉懸粋€IIR二階系統提取函數,根據所需的頻率進行計算即可。 最后在把KP和低通濾波器引入,LPF能提供一個在高頻的增益衰減功能,用于提升多個PR組合后的傳遞函數的穩定性。


可見閉環控制器的傳遞函數最終為:

lpf = (flpf*2*pi/(s + flpf*2*pi));

sys_pr = kp + lpf * (pr_1st + pr_3st + pr_5st + pr_7st + pr_9st + pr_11st);

運行測試:

poYBAGPjUnCAWqjbAAGRfaOBXIw629.png

(3KHZ后 LPF開始起到作用)

編寫QPR代碼并運行測試,發現對3~5次諧波有抑制效果。

pYYBAGPjUnyACVc2AAKXRkh4UcA698.png

小結:根據s域傳遞函數計算出z域傳遞函數公式,并測試驗證了準確性。

關于本人:

我是楊帥,目前從事逆變器儲能行業,專注在雙向AC/DC變換器領域,對雙向DC/DC的研究較多。數年來一直從事電力電子仿真技術研究與應用推廣,致力于實現讓天下沒有難搞的電源而努力。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17317

    瀏覽量

    352641
  • matlab
    +關注

    關注

    185

    文章

    2980

    瀏覽量

    231007
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62971
  • 諧振控制器
    +關注

    關注

    1

    文章

    30

    瀏覽量

    9174
收藏 人收藏

    評論

    相關推薦

    怎么在labview FPGA端實現離散傳遞函數的表達?

    我只知道有一個這個控件,叫直接型離散傳遞函數實現,但是我輸入離散傳遞函數的系數之后,他的輸出有問題。我再非FPGA端嘗試使用相同的系數進行仿真,輸出是沒有問題的。我不知道前面的問題出在哪里,或者說還有沒有其他的方法
    發表于 05-09 11:43

    離散點采樣方法的MATLAB實現

    誰有離散點采樣方法的MATLAB實現代碼 老師說是用于圖像處理上的基于目標區域和基于目標邊界兩類方法的優勢,用陰采樣圖獲取目標圖像中目標的邊界信息,用陽采樣圖獲取目標圖像中目標的區域信息,陰、陽
    發表于 03-16 00:16

    離散傳感器

    離散傳感器一般包括光電開關、接近開關、光柵、編碼器等,這些都是自動上經常用到的器件,它們各有各的作用,但是經常一起配合使用,成為傳感器中增長較快的一支隊伍。尤其是近幾年來離散傳感器增加非常迅猛
    發表于 01-27 14:23

    自動基礎--線性離散系統的分析與校正

    `自動基礎--線性離散系統的分析與校正`
    發表于 02-24 13:24

    離散型PID算法的Matlab仿真

    ,'v');% 離散后提取分子、分母 u_1=0.0; u_2=0.0; y_1=0.0; y_2=0.0; x=[0,0,0]'; error_1=0; error_2=0; %核心代碼 for k
    發表于 05-30 09:10

    PID參數在進行離散前后是不是相同的

    對傳遞函數進行離散后用sisotool設計了補償函數,得到的Kp,Kd,Ki參數,和直接在時域里面進行補償函數設計所得到的參數是不是一樣的
    發表于 11-05 15:35

    怎么實現基于RFID技術的離散MES設計?

    怎么實現基于RFID技術的離散MES設計?
    發表于 06-07 06:02

    Matlab中使用S函數實現離散數值計算的問題有哪些

    關于Matlab中使用S函數實現離散數值計算的問題求助,現在我想使用S函數寫一個永磁同步電機dq軸坐標系下的離散數學模型,使用改進歐拉法
    發表于 08-27 07:00

    Marr小波離散方法及其應用

    本文介紹了將連續小波Marr小波進行離散的一種新方法,實現了連續小波離散信號處理。將其應用于實際人體血壓信號分析中,取得了滿意的效果,具
    發表于 08-15 14:16 ?16次下載

    連續特征離散方法綜述

    離散特征在數據挖掘的過程中具有重要的作用,如何將實際數據集中的連續特征最好地離散是一個NP-hard問題。本文介紹了離散方法的不同角度的
    發表于 01-03 17:02 ?25次下載

    基于離散小波變換的數字水印技術 (matlab源代碼)

    基于離散小波變換的數字水印技術 (matlab源代碼):提出了一種基于小波分析的簡單有效的數字水印嵌入和盲檢測的算法。先將嵌入的水印信息加密,然后將加密后的水印信息嵌到相
    發表于 02-10 10:04 ?317次下載

    離散傅里葉變換

    《OpenCV3編程入門》書本配套源代碼:離散傅里葉變換
    發表于 06-06 15:39 ?5次下載

    針對多量級應急數據的無監督離散方法

    在對連續的多量級應急數據進行離散化時,采用傳統無監督離散方法難以找出量級變化點完成離散。提出一種針對多量級應急數據的無監督離散
    發表于 06-04 14:28 ?1次下載

    進行鴻蒙移植和開發的離散滑塊教程

    項目介紹 離散滑塊嘗試通過 API 為您提供帶有值標簽的滑塊,如 [Material Design spec] 中所示。該庫還為您提供范圍滑塊模式。 離散滑塊嘗試為您提供帶有“材質設計”規范中所
    發表于 04-01 09:24 ?2次下載

    如何實現離散傅里葉變換

    離散傅里葉變換(DFT)是將離散時序信號從時間域變換到頻率域的數學工具,其實現方法有多種,以下介紹幾種常見的實現方案: 一、直接計算法 直接依據離散
    的頭像 發表于 11-14 09:35 ?501次閱讀
    百家乐的保单打法| 百家乐官网稳赢技法| 百家乐官网赢家公式| 百家乐视频游戏掉线| 百家乐怎么玩最保险| 水果老虎机的程序| 巴登娱乐城开户| 百家乐官网发牌铲| 网上百家乐官网赌博出| 免费百家乐官网追号工具| 澳门百家乐博客| 大发888游戏 下载| 轮盘必胜法| 百家乐官网出千手法| 百家乐真钱棋牌| 真人游戏角色| 筠连县| 至尊百家乐官网娱乐场| 顶级赌场 足彩分析| 网上百家乐官网骗人不| 百家乐官网的玩法技巧和规则 | 真人百家乐赌博技巧| 大发888娱乐城注册lm0| 云霄县| 世嘉百家乐官网的玩法技巧和规则 | 现场百家乐官网电话投注| 百佬汇百家乐官网的玩法技巧和规则| 百家乐出闲几率| 棋牌游戏大厅| 百家乐官网破解仪恒达| 百家乐赌博娱乐| 澳门赌场娱乐城| 天博百家乐官网的玩法技巧和规则 | bet365投注体育比赛合法吗| 百家乐官网一黑到底| 在线百家乐纸牌游戏| 在线娱乐城注册送彩金| 百家乐官网2号破解下载| 最好百家乐的玩法技巧和规则| 卓尼县| 百家乐重要心态|