日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

hh模型仿真matlab程序,gardner算法算法matlab仿真请教(附程序)

發布時間:2023/12/14 循环神经网络 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hh模型仿真matlab程序,gardner算法算法matlab仿真请教(附程序) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

%定時恢復程序:

clear all

N=6000;??%符號數

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

Ns=K*N;??%總的采樣點數

w=[0.5,zeros(1,N-1)];??%環路濾波器輸出寄存器,初值設為0.5

n=[0.7 zeros(1,Ns-1)]; %NCO寄存器,初值設為0.9

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

u=[0.6,zeros(1,2*N-1)];%NCO輸出的定時分數間隔寄存器,初值設為0.6

yI=zeros(1,2*N);? ?? ? %I路內插后的輸出數據

yQ=zeros(1,2*N);? ?? ? %Q路內插后的輸出數據

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);

c1=5.41*10^(-3);? ?c2=3.82*10^(-6);??%環路濾波器系數

%############################

%這段代碼是原程序中仿真輸入的psk數據

bitstream=randint(1,N,2);

psk2=pskmod(bitstream,2);

xI=zeros(1,Ns);

xQ=zeros(1,Ns);

xI(1:8:8*N)=real(psk2);%8倍插值?為何要這樣設計

xQ(1:8:8*N)=imag(psk2);

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

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

hw=kaiser(65,3.97);

hh=h1.*hw.';aI1=conv(xI,h1);

bQ1=conv(xQ,h1);

L=length(aI1);

%仿真輸入數據

aI=[aI1(26:2

),0,0];%2倍抽取?為何先8倍插值,再2倍抽取?

bQ=[bQ1(26:2

),0,0];

%##############################

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);

%內插濾波器模塊

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);

%時鐘誤差提取模塊,采用的是GARDNER算法

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

%環路濾波器.每個數據符號計算一次環路濾波器輸出

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;

end

figure(1);

subplot(311);plot(u);

subplot(312);plot(time_error);

subplot(313);plot(w);

%##############################

% bt=0.01;

% c1=8/3*bt;

% c2=c1*4/3*bt;

N=6000;??%符號數

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

Ns=K*N;??%總的采樣點數

w=[0.5,zeros(1,N-1)];??%環路濾波器輸出寄存器,初值設為0.5

n=[0.7 zeros(1,Ns-1)]; %NCO寄存器,初值設為0.9

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

u=[0.6,zeros(1,2*N-1)];%NCO輸出的定時分數間隔寄存器,初值設為0.6

yI=zeros(1,2*N);? ?? ? %I路內插后的輸出數據

yQ=zeros(1,2*N);? ?? ? %Q路內插后的輸出數據

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);

bitstream=randint(1,N,2);

psk2=pskmod(bitstream,2);

%直接對psk調制信號進行4倍插值濾波后得到仿真數據

aI=rcosflt(real(psk2),1,4,'sqrt',0.5);

bQ=rcosflt(imag(psk2),1,4,'sqrt',0.5);

%采用這種數據產生方式,從仿真波形看為何不收斂?

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ns=length(aI)-16;

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);

%內插濾波器模塊

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);

%時鐘誤差提取模塊,采用的是GARDNER算法

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

%環路濾波器.每個數據符號計算一次環路濾波器輸出

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;

end

figure(2);

subplot(311);plot(u);

subplot(312);plot(time_error);

subplot(313);plot(w);

總結

以上是生活随笔為你收集整理的hh模型仿真matlab程序,gardner算法算法matlab仿真请教(附程序)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。