2ASK调制解调系统(4)

2019-01-19 19:23

《2ASK调制与解调》 科研训练论文

plot(f,10*log10(abs(fftshift(demf1).^2/length(f))));% 画出经过理想带通滤波器后信号功率谱 axis([-fc-3*B fc+3*B -50 0]); xlabel('f');

ylabel('理想BPF输出信号功率谱');

%-----进行相干解调,先和本地载波相乘,即混频 figure(4)

der=dem1(1:Lt).*ht(1:Lt);%和本地载波相乘,即混频 subplot(211)%画出混频后的波形 plot(t,der); axis([0 10 -1 1]); xlabel('t');

ylabel('混频后的信号');

[derf,der,df1,f]=T2F(der,ts,df,fs);%求混频后信号的功率谱 subplot(212)

plot(f,10*log10(abs(fftshift(derf).^2/length(f))));%画出混频后的功率谱 axis([-fc-3*B fc+3*B -50 0]); xlabel('f');

ylabel('混频后信号的功率谱');

[LPF,f]=lp_f(length(derf),B,df1,fs,1);%求低通滤波器 pause%混频信号经理想低通滤波器后的波形及功率谱 DM = LPF.*derf; %理想低通滤波器输出信号频谱 [dm]=F2T(DM,fs); %理想低通滤波器的输出波形 figure(5) subplot(211)

plot(t,dm(1:Lt));%画出经过低通滤波器后的解调出的波形 axis([0 10 -1 1]); xlabel('t');

ylabel('LPF输出信号'); subplot(212)

[dmf,dm,df1,f]=T2F(dm,ts,df,fs);%求LPF输出信号的功率谱

plot(f,10*log10(abs(fftshift(dmf).^2/length(f))));%画出LPF输出信号的功率谱 axis([-fc-3*B fc+3*B -50 0]); xlabel('f');

ylabel('LPF输出信号功率谱'); %-------最后对LPF输出信号抽样判决 dm= dm(1:Lt);

panjue=zeros(1,N);%建立存储判决值的矩阵 %抽样判决,规则:大于等于0判1,小于0判-1 for i=1:N;

if dm(fc*N_sample*(i-1)+fc*N_sample/2+1)>=0;%抽样判决时刻 panjue(i)=1; else

panjue(i)=0; end

《2ASK调制与解调》 科研训练论文

end

%----画出判决出的基带信号波形,并和调制信号比较 rr=sigexpand(panjue,fc*N_sample); rrt=ones(1,fc*N_sample); % NRZ波形 huifu_NRZ=conv(rr,rrt);

pause%观察调制信号和解调信号波形 figure(6) subplot(211)

plot(t,d_NRZ(1:Lt));%调制信号波形 axis([0 10 -1.2 1.2]); xlabel('t'); ylabel('调制信号'); subplot(212)

plot(t,huifu_NRZ(1:Lt));%解调信号波形 axis([0 10 -1.2 1.2]); xlabel('t'); ylabel('解调信号');

%-------------------统计误码数

numoferr=sum(abs(panjue-d)/2)/N%计算出错误码元数 ylabel('解调后的信号');

function [H,f]=bp_f(n,f_start,f_cutoff,df1,fs,p)

%带通滤波器函数 输入设计的滤波器参数,产生带通滤波器频率特性函数H和频率向量f %------------------------输入参数 %n 带通滤波器的输入信号长度 %f_start 通带起始频率

%f_cutoff 带通滤波器的截止频率 ?1 频率分辨率 %fs 抽样频率 %p 滤波器幅度 %----------------------输出(返回)参数 %H 带通滤波器频率响应 %f 频率向量

n_cutoff = floor(f_cutoff/df1); %设计滤波器 n_start = floor(f_start/df1);

f = [0:df1:df1*(n-1)] -fs/2; %频率向量 H = zeros(size(f));

H(n_start+1:n_cutoff) = p*ones(1,n_cutoff-n_start);

H(length(f) - n_cutoff+1:length(f)-n_start) = p*ones(1,n_cutoff-n_start);

function [numoferr,panjue,desingal,t]=bpskberr(A,fc,snr,N_sample,N,Ts,d,df) %求误码率

%-------------------系统仿真参数 % A; %载波振幅

《2ASK调制与解调》 科研训练论文

% fc; %载波频率(Hz) % snr; %解调器输入信噪比dB % N_sample;%每个码元的的采样点数 % N; % 码元数 % Ts; % 码元宽度 %d;输入二进制代码 ?:频率分辨率

% -------------------输出(返回)参数 %numoferr;%误码率

%panjue 恢复的二进制代码1用1表示,0用-1表示 Tsingal;%恢复的数字基带信号 %t;时域采样时序

%----------------------生成调制信号 B=1/Ts; f_start=fc-B; f_cutoff=fc+B;

fs=fc*N_sample;%系统采样频率 ts=Ts/fs; % 系统采样间隔 t=0:ts:N*Ts-ts; Lt=length(t); % 产生二进制信源

dd=sigexpand((d+1)/2,fc*N_sample); gt=ones(1,fc*N_sample); % NRZ波形 d_NRZ=conv(dd,gt);

d_sjx=2*d_NRZ-1;%生成双极性NRZ信号 %----对数字基带信号进行2PSK调制 ht=A*sin(2*pi*fc*t);%载波

s_2psk=d_sjx(1:Lt).*ht;%生成2PSK信号 %----------------生成高斯白噪声噪声 snr_lin=10^(snr/10); %换算成倍数

signal_energy=0.5*A^2*Ts;%求出接收信号平均能量

noise_power=( signal_energy *fs)/(snr_lin*4);%求出噪声方差(噪声均值为0) noise_std=sqrt(noise_power);%求出噪声均方差

noise=noise_std.*randn(1,Lt);%以噪声均方差作为幅度产生高斯白噪声 %---------------将已调信号送入信道

r=s_2psk(1:Lt)+noise(1:Lt);%叠加了噪声的已调信号,相当于将已调信号送入理想信道 [rf,r,df1,f]=T2F(r,ts,df,fs);

%-----------在接收端先通过带通滤波器 [H,f]=bp_f(length(rf),f_start,f_cutoff,df1,fs,1); DEM = H.*rf; %滤波器输出的功率谱 [dem]=F2T(DEM,fs);%滤波器的输出信号波形 %进行相干解调,先和本地载波相乘,即混频 %和本地载波相乘 der=dem(1:Lt).*ht;%混频

《2ASK调制与解调》 科研训练论文

[derf,der,df1,f]=T2F(der,ts,df,fs);%求混频后信号的功率谱 %-----------------再经过低通滤波器 [LPF,f]=lp_f(length(derf),B,df1,fs,1);

DM = LPF.*derf; %理想低通滤波器输出的功率谱 [dm]=F2T(DM,fs);%理想低通滤波器的输出信号 %-----------最后对LPF输出信号抽样判决 panjue=zeros(1,N);%建立存储判决值的矩阵 %抽样判决,规则:大于等于0判1,小于0判-1 for i=1:N

if dm(fc*N_sample*(i-1)+fc*N_sample/2+1)>=0;%抽样判决时刻 panjue(i)=1; else

panjue(i)=-1; end end

%----------生成判决出的基带信号波形 dd1=sigexpand(panjue,fc*N_sample); gt1=ones(1,fc*N_sample); % NRZ波形 desinga=conv(dd1,gt1); desingal=desinga(1:Lt);

%-------------------------统计误码数

numoferr=sum(abs(panjue-d)/2)/N;%计算出错误码元数 clear all; close all; echo on

%------------------系统仿真参数 A=1; %载波振幅 fc=2; %载波频率(Hz) snr=5; %信噪比dB

N_sample=8;% 基带信号中每个码元的的采样点数 N=10000; % 码元数 Ts=1; % 码元宽度 df=0.01%频率分辨率 B=1/Ts; f_start=fc-B; f_cutoff=fc+B;

fs=fc*N_sample%系统采样频率,即考虑载波后,一个码元内的采样点数 ts=Ts/fs; % 系统采样间隔 t=0:ts:N*Ts-ts; Lt=length(t);

%-----------画出调制信号波形及功率谱 % 产生二进制信源 d=sign(randn(1,N));

《2ASK调制与解调》 科研训练论文

dd=sigexpand((d+1)/2,fc*N_sample); gt=ones(1,fc*N_sample); % NRZ波形 d_NRZ=conv(dd,gt); d_NRZ1=d_NRZ(1:Lt);

pause%画出单极性NRZ波形及其功率谱 figure(1) subplot(221);

plot(t,d_NRZ1);% 画出单极性NRZ信号波形 axis([0 10 0 1.2]); xlabel('t');

ylabel('单极性信号'); subplot(222);

[d_NRZ1f,d_NRZ1,df1,f]=T2F(d_NRZ1,ts,df,fs);%求出单极性NRZ信号功率谱 plot(f,10*log10(abs(fftshift(d_NRZ1f).^2/length(f))));% 画出单极性NRZ信号功率谱 axis([-3*B 3*B -50 0]); xlabel('f');

ylabel('单极性信号PDF');

pause%画出双极性NRZ波形及其功率谱 d_sjx=2*d_NRZ-1;%生成双极性NRZ信号 d_sjx1=d_sjx(1:Lt); subplot(223);

plot(t,d_sjx1);% 画出双极性NRZ信号波形 axis([0 10 0 1.2]); xlabel('t');

ylabel('双极性信号'); subplot(224);

[d_sjx1f,d_sjx1,df1,f]=T2F(d_sjx1,ts,df,fs);%求出双极性NRZ信号功率谱 plot(f,10*log10(abs(fftshift(d_sjx1f).^2/length(f))));% 画出双极性NRZ信号功率谱 axis([-3*B 3*B -50 0]); xlabel('f');

ylabel('双极性信号PDF');

%---------画出数字频带信号及其功率谱 % 对数字基带信号进行2ASK调制 ht=A*sin(2*pi*fc*t);%载波

s_2ask=d_NRZ(1:Lt).*ht;%生成已调信号2ASK pause%画出已调信号2ASK及其功率谱 figure(2) subplot(221);

plot(t,s_2ask);%画出2ASK信号 axis([0 10 -1.2 1.2]); xlabel('t'); ylabel('2ASK'); %求2ASK信号功率谱

[s_2askf,s_2ask,df1,f]=T2F(s_2ask,ts,df,fs);%求出单极性NRZ信号功率谱


2ASK调制解调系统(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:与上司沟通找对风格是关键

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: