?? zt4dat.m
字號:
%%%雙載頻調(diào)制實現(xiàn)方法仿真%%%
%說明:實部乘以cos,虛部乘以sin,實現(xiàn)中心頻率為10KHz,子帶間隔為5Hz的800個子帶方案,寬4000HZ
%sample rate is 200KHz
%the size of file is 64000
%transmitter
clear;
close all;
%fp1=fopen('block-2f.dat','w');
fp1=fopen('zt4.dat','w');
fp2=fopen('sourcedata.dat','r');
s=fscanf(fp2,'%d\n');
%chirp signal B=4kHz,T=50ms 同步碼
n=1:2000;%2000=0.01/0.000005
%pt(n)=0.007*cos(2*3.1416*8000*(0.0.000005)*n+3.1416*400000*(0.000005*n)^2);
pt=0.002*cos(0.2513274*n+0.0000314159*n.^2);
%前面添了796個零
data(n+1000)=7000000*pt(n);
%m sequence as pilot symbol for信道估計
a=ones(1,10); %賦初始狀態(tài)
for m=1:1023
if(a(8)==-1)&(a(1)==-1)
b=-1;
elseif(a(8)==1)&(a(1)==-1)
b=1;
elseif(a(8)==-1)&(a(1)==1)
b=1;
else
b=-1;
end
n=1:9;
a(n)=a(n+1);
a(10)=b;
tt(m)=b;
end
for m=1:50 %40 symbols and 10 pilots
t=rem(m-1,5);
if(t==0)
n=1:800;
ss(n)=1.8*tt(n);
else
for n=1:800 %800 subcarriers/symbol
odd=(4*fix((m-1)/5)+t-1)*1600+2*n-1;
even=(4*fix((m-1)/5)+t-1)*1600+2*n;
if (s(odd)==0)&(s(even)==0)
ss(n)=1+i;
elseif (s(odd)==0)&(s(even)==1)
ss(n)=-1+i;
elseif (s(odd)==1)&(s(even)==1)
ss(n)=-1-i;
else
ss(n)=1-i;
end
end
end
ss(40000)=0;
y=ifft(ss) ; %IFFT調(diào)制
%plot(y);
k=8001:48000; %N=10000,Ng=1764
da(k)=y(k-8000);
k=1:8000;
da(k)=da(k+40000);
n=1:48000;
data((m-1)*48000+3000+n)=7000000*(imag(da)).*sin(0.37699*n)+7000000*(real(da)).*cos(0.37699*n);%實際所乘載頻為12kHz
% data(t*11764+3000+n)=1000000*(real(da));%+1000000*(imag(da));
end
t=round(data+32767);
fwrite(fp1,t,'uint16');
fclose(fp1);
fclose(fp2);
plot(t); %發(fā)射信號波形
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -