0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析位同步環(huán)路的matlab仿真

HOPE開放創(chuàng)新平臺 ? 來源:通信工程師專輯 ? 作者:通信工程師專輯 ? 2021-08-24 10:57 ? 次閱讀

理論內(nèi)容基本在上一堂課講清楚了,那么現(xiàn)在就該來看仿真程序了!通過程序來進一步的消化位定時算法

每一次寫仿真程序都是一次完善的過程,仿真程序?qū)懙脑俸?,它也會出現(xiàn)或多或少的問題,同時還要必須不斷地向?qū)嶋H的情況去靠攏,這才是寫程序最終的目的仿真,這是基礎(chǔ),最終能夠和實際產(chǎn)品應(yīng)用才是目的,所以我們在學(xué)仿真的時候,一定要清楚程序和實際產(chǎn)品最終還有多大的距離。因此,每次寫程序都是一個長時間的不斷修訂的過程!大家如果走上算法研究的道路,務(wù)必記住:不斷的完善仿真環(huán)境是一個漫長的過程,也是不斷深化自己理解的過程!

先看看網(wǎng)絡(luò)上的一段程序!

close all;clear all;

%%************** 程序主體 **************%%

N=20000; % 符號數(shù)

K=4; % 每個符號采4個樣點

Ns=K*N; % 總的采樣點數(shù)

w=[0.5,zeros(1,N-1)];

%環(huán)路濾波器輸出寄存器,初值設(shè)為0.5

n=[0.7 zeros(1,Ns-1)];

%NCO寄存器,初值設(shè)為0.9

n_temp=[n(1),zeros(1,Ns-1)];

u=[0.6,zeros(1,2*N-1)];

%NCO輸出的定時分?jǐn)?shù)間隔寄存器,初值設(shè)為0.6

yI=zeros(1,2*N);

%I路內(nèi)插后的輸出數(shù)據(jù)

yQ=zeros(1,2*N);

%Q路內(nèi)插后的輸出數(shù)據(jù)

time_error=zeros(1,N);

%Gardner提取的時鐘誤差寄存器

i=1;

%用來表示Ts的時間序號,指示n,n_temp,nco,

k=1;

%用來表示Ti時間序號,指示u,yI,yQ

ms=1;

%用來指示T的時間序號,用來指示a,b以及w

strobe=zeros(1,Ns);

% 環(huán)路濾波器系數(shù)

c1=5.41*10^(-3);

c2=3.82*10^(-6);

%%% %%%PSK基帶數(shù)據(jù)%%% %%%

bitstream=(randi(2,N,1)-1);

psk2=pskmod(bitstream,2);

xI=zeros(1,Ns);

xQ=zeros(1,Ns);

xI(18*N) = real(psk2);

%8倍插值,后面2倍抽取實現(xiàn)輸入采樣信號是輸出插值符號速率的4倍

%即4個采樣點確定一個插值

xQ(18*N) = imag(psk2);

% 截短后的根升余弦匹配濾波器

h1 = rcosfir(0.8,[-8,8],4,1,'sqrt');

aI1 = conv(xI,h1);

bQ1 = conv(xQ,h1);

L = length(aI1);

%仿真輸入數(shù)據(jù)

aI = [aI1(22L),0,0]; %2倍抽取

bQ = [bQ1(22L),0,0];

%%%%%%% Gardner算法

ns=length(aI)-2;

while(i

n_temp(i+1) = n(i)-w(ms);

if(n_temp(i+1)>0)

n(i+1)=n_temp(i+1);

else

n(i+1)=mod(n_temp(i+1),1);

% 內(nèi)插濾波器

FI1 = 0.5*aI(i+2)-0.5*aI(i+1)-0.5*aI(i)+0.5*aI(i-1);

FI2 = 1.5*aI(i+1)-0.5*aI(i+2)-0.5*aI(i)-0.5*aI(i-1);

FI3 = aI(i);

yI(k) = (FI1*u(k)+FI2)*u(k)+FI3;

FQ1 = 0.5*bQ(i+2)-0.5*bQ(i+1)-0.5*bQ(i)+0.5*bQ(i-1);

FQ2 = 1.5*bQ(i+1)-0.5*bQ(i+2)-0.5*bQ(i)-0.5*bQ(i-1);

FQ3 = bQ(i);

yQ(k) = (FQ1*u(k)+FQ2)*u(k)+FQ3;

strobe(k) = mod(k,2);

% 時鐘誤差提取模塊

if(strobe(k)==0)

% 每個符號計算一次時鐘誤差

if(k>2)

time_error(ms) = yI(k-1)*(yI(k)-yI(k-2))+yQ(k-1)*(yQ(k)-yQ(k-2));

else

time_error(ms) = (yI(k-1)*yI(k)+yQ(k-1)*yQ(k));

end

%環(huán)路濾波器,每個數(shù)據(jù)符號計算一次環(huán)路濾波器輸出

if(ms>1)

w(ms+1)=w(ms)+c1*(time_error(ms)-time_error(ms-1))+c2*time_error(ms);

else

w(ms+1)=w(ms)+c1*time_error(ms)+c2*time_error(ms);

end

ms=ms+1;

end

k=k+1;

u(k)=n(i)/w(ms);

end

i=i+1;

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 濾波器
    +關(guān)注

    關(guān)注

    161

    文章

    7817

    瀏覽量

    178148
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7035

    瀏覽量

    89045
  • 基帶
    +關(guān)注

    關(guān)注

    4

    文章

    159

    瀏覽量

    30874
  • PSK
    PSK
    +關(guān)注

    關(guān)注

    1

    文章

    27

    瀏覽量

    20984
  • 仿真程序
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    10149

原文標(biāo)題:大學(xué)畢業(yè)設(shè)計一席談之二十七 位同步環(huán)路的matlab仿真(2)

文章出處:【微信號:haierhope,微信公眾號:HOPE開放創(chuàng)新平臺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    同步電機模型的MATLAB仿真

    同步電機模型的MATLAB仿真同步電機模型的MATLAB仿真
    發(fā)表于 05-24 22:09

    現(xiàn)代永磁同步電機控制原理及MATLAB仿真(附完整版仿真模型)

    `《現(xiàn)代永磁同步電機控制原理及MATLAB仿真》,該書是2016年剛出版的永磁同步電機控制書籍,講解的非常詳細,尤其是對于初學(xué)者很受用,主要是SVPWM控制,并附帶詳細的
    發(fā)表于 03-05 12:02

    matlab勵磁系統(tǒng)接不了,基于MATLAB同步發(fā)電機勵磁系統(tǒng)仿真

    基于MATLAB同步發(fā)電機勵磁系統(tǒng)仿真,發(fā)電機matlab仿真,同步發(fā)電機勵磁系統(tǒng),
    發(fā)表于 06-30 06:05

    同步電機模型的matlab仿真

    同步電機模型的matlab仿真-終結(jié)版畢業(yè)設(shè)計(論文)??題目同步電機模型的MATLAB仿真
    發(fā)表于 09-03 06:00

    同步電機模型的MATLAB仿真的設(shè)計

    同步電機模型的MATLAB仿真的設(shè)計.doc》由會員分享,可免費在線閱讀全文,更多與《同步電機模型的MATLAB
    發(fā)表于 09-03 09:00

    高階QAM定時同步算法的MATLAB仿真及FPGA實現(xiàn)

    本文針對128 QAM調(diào)制信號,設(shè)計了定時同步算法結(jié)構(gòu),并且用MATLAB做了仿真驗證,最后在FPGA平臺上實現(xiàn)了該算法。
    發(fā)表于 11-23 11:15 ?6813次閱讀

    同步電機模型的MATLAB仿真資料

    同步電機模型的MATLAB仿真資料,有興趣的同學(xué)可以下載學(xué)習(xí)
    發(fā)表于 04-28 13:59 ?0次下載

    現(xiàn)代永磁同步電機控制原理及MATLAB仿真

    《現(xiàn)代永磁同步電機控制原理及MATLAB仿真》,袁雷、胡冰新等編寫的PMSM經(jīng)典教材,壓縮包為完整的書籍配帶的MATLAB仿真
    發(fā)表于 03-05 11:58 ?1411次下載

    降抖動的同步環(huán)路設(shè)計(GARDNER)

    在數(shù)字通信系統(tǒng)中,為了實現(xiàn)正確的數(shù)據(jù)通信任務(wù),需要實現(xiàn)多種同步功能。同步同步系統(tǒng)的關(guān)鍵,其質(zhì)量的好壞直接影響整個通信系統(tǒng)的性能。因此,關(guān)于
    發(fā)表于 11-02 15:22 ?1次下載
    降抖動的<b class='flag-5'>位</b><b class='flag-5'>同步</b><b class='flag-5'>環(huán)路</b>設(shè)計(GARDNER)

    基于Matlab-Simulink的永磁同步電機(PMSM)矢量控制仿真

    基于Matlab-Simulink的永磁同步電機(PMSM)矢量控制仿真
    發(fā)表于 05-05 10:18 ?31次下載

    基于MATLAB的電機仿真精華50例包括同步異步直流電機的詳細介紹

    基于MATLAB的電機仿真精華50例包括同步異步直流的詳細介紹有源代碼,對學(xué)習(xí)MATLAB和初學(xué)電力拖動很有幫助。
    發(fā)表于 05-30 16:07 ?42次下載

    現(xiàn)代永磁同步電機控制原理及MATLAB仿真電子教材的仿真模型免費下載

    本文檔的主要內(nèi)容詳細介紹的是《現(xiàn)代永磁同步電機控制原理及MATLAB仿真》_袁雷編著隨書的仿真模型詳細資料免費下載。
    發(fā)表于 10-22 08:00 ?843次下載
    現(xiàn)代永磁<b class='flag-5'>同步</b>電機控制原理及<b class='flag-5'>MATLAB</b><b class='flag-5'>仿真</b>電子教材的<b class='flag-5'>仿真</b>模型免費下載

    現(xiàn)代永磁同步電機控制原理及MATLAB仿真源碼/模型

    現(xiàn)代永磁同步電機控制原理及MATLAB仿真 源碼/模型(matlab)分享
    發(fā)表于 09-05 09:18 ?139次下載

    大學(xué)畢業(yè)設(shè)計一席談之二十七 同步環(huán)路matlab仿真(7)更正錯誤和加入頻偏

    繼續(xù)講解! 感謝作者的留言,指出不足之處! 在《大學(xué)畢業(yè)設(shè)計一席談之二十七 同步環(huán)路matlab仿真》系列文章里面 如何設(shè)置參數(shù)的呢 ?
    的頭像 發(fā)表于 02-09 15:15 ?651次閱讀

    并網(wǎng)型虛擬同步發(fā)電機控制Matlab/simulink仿真說明

    并網(wǎng)型虛擬同步發(fā)電機控制Matlab/simulink仿真說明
    發(fā)表于 03-28 10:37 ?9次下載
    并網(wǎng)型虛擬<b class='flag-5'>同步</b>發(fā)電機控制<b class='flag-5'>Matlab</b>/simulink<b class='flag-5'>仿真</b>說明