matlab编程代做GMSK系统仿真资料下载.pdf
《matlab编程代做GMSK系统仿真资料下载.pdf》由会员分享,可在线阅读,更多相关《matlab编程代做GMSK系统仿真资料下载.pdf(11页珍藏版)》请在冰豆网上搜索。
%1为差分编码的初始参考值fori=2:
length(data)data_diff(i)=data_diff(i-1)*data(i);
end%*functiongt,qt=gauss_filter(Bb,Tb,fs,sample_number)%高斯滤波器%*%Bb滤波器的3dB带宽%Tb码元时间%fs采样速率%sample_number采样个数%*%Rb=16000;
%Tb=1/16000;
%sample_number=8;
%fs=sample_number*Rb;
%Bb=0.25/Tb;
%-%g(t)irfn=3;
%截取irfn个Tb区间n=irfn*sample_number;
mid=(n./2);
t=-mid/fs:
1/fs:
mid/fs;
gt=1/2*(erf(-sqrt(2/log
(2)*pi*Bb*(t-1/2*Tb)+erf(sqrt(2/log
(2)*pi*Bb*(t+1/2*Tb);
%*%-%q(t)qt=zeros(1,irfn*sample_number);
fori=1:
irfn*sample_numberforj=1:
iqt(i)=qt(i)+gt(j)/sample_number/2;
end;
%*%GMSK调制,一比特差分解调clearallcloseall%-%参数设置data_len=30000;
%码元个数sample_number=8;
%采样个数Rb=24000;
%码元速率fc=96000;
%载波频率alpha=0.25;
%BbTb值%*%-%随机产生传输信号data=rand_binary(data_len);
%*%-%GMSK基带调制signal_out,I_out,Q_out,phase,gt,qt=mod_gmsk(data,data_len,sample_number,Rb,alpha);
%*%-%中频搬移multi=fc/Rb;
I_temp=interp(I_out,multi);
Q_temp=interp(Q_out,multi);
Fs=fc*sample_number;
t=1/Fs:
1/Fs:
length(I_temp)*1/Fs;
signal_i=I_temp.*cos(2*pi*fc*t);
signal_q=Q_temp.*sin(2*pi*fc*t);
signal_mod_i=I_temp.*cos(2*pi*fc*t)-Q_temp.*sin(2*pi*fc*t);
signal_mod_q=I_temp.*sin(2*pi*fc*t)+Q_temp.*cos(2*pi*fc*t);
%*%-%加噪声forSNR=0:
16%signal_mod1=awgn(signal_mod_i+j*signal_mod_q,SNR);
noise=randn(1,length(signal_mod_i);
b=0.2;
c=0.22;
d=0.28;
e=0.3;
F1=0,b,c,d,e,1;
A1=0,0,1,1,0,0;
bpf=firls(300,F1,A1);
noise1=conv(noise,bpf);
noise_out=noise1(150+1:
150+length(signal_mod_i);
Power_noise=sum(noise_out.2);
Power_signal_i=sum(signal_mod_i.2);
Power_signal_q=sum(signal_mod_q.2);
Coe_SNR_i=sqrt(1*Power_signal_i/Power_noise/(10(SNR/10);
Coe_SNR_q=sqrt(1*Power_signal_q/Power_noise/(10(SNR/10);
signal_mod1=(signal_mod_i+(Coe_SNR_i)*noise_out)+j*(signal_mod_q+(Coe_SNR_q)*noise_out);
%加入噪声以后的信号%-%一比特延迟差分cospart=real(signal_mod1);
sinpart=imag(signal_mod1);
delay=zeros(1,multi*sample_number)sinpart(1:
data_len*sample_number*multi-multi*sample_number);
cha=-delay.*cospart;
N=300;
%滤波器的阶数为(N+1)F=0,fc,fc,Fs/2*2/Fs;
A=1,1,0,0;
lpf=firls(N,F,A);
dem1=conv(cha,lpf);
dem=dem1(N/2+1:
N/2+length(cha);
%*%-%抽样判决fori=1:
data_lendemod_data(i)=dem(i*multi*sample_number)0;
enddemod_data=2*demod_data-1;
%*%-%计算误码率num,ber(SNR+1)=symerr(demod_data(2:
data_len),data(2:
data_len);
%*end%*%-%误码率曲线semilogy(0:
16,ber,r*-);
%*amp=100.6900.24;
dj=length(amp);
djsignal_mod_i=signal_mod_i+amp(i)*delay(signal_mod_i,i-1,sample_number);
signal_mod_q=signal_mod_q+amp(i)*delay(signal_mod_q,i-1,sample_number);
end%-%加噪声forSNR=0:
%*fc=fc+500;
%-%加噪声forSNR=0:
20%signal_mod1=awgn(signal_mod_i+j*sign