matlab编程代做GMSK系统仿真.pdf
- 文档编号:3213221
- 上传时间:2022-11-20
- 格式:PDF
- 页数:11
- 大小:217.68KB
matlab编程代做GMSK系统仿真.pdf
《matlab编程代做GMSK系统仿真.pdf》由会员分享,可在线阅读,更多相关《matlab编程代做GMSK系统仿真.pdf(11页珍藏版)》请在冰豆网上搜索。
functionout=delay(data,n,sample_number)%data:
延迟的数据%n:
延迟码元个数%sample_number:
码元采样个数out=zeros(1,length(data);out(n*sample_number+1:
length(data)=data(1:
length(data)-n*sample_number);functiondata_diff=difference(data)%差分编码%*%data输入信号%data_diff差分编码后信号%*%-data_diff=zeros(1,length(data);data_diff
(1)=1*data
(1);%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;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*-);%*%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);%*amp=100.6900.24;dj=length(amp);fori=1:
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:
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*-);%*%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);%*fc=fc+500;%-%加噪声forSNR=0:
20%signal_mod1=awgn(signal_mod_i+j*sign
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 编程 GMSK 系统 仿真