⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bpsktiaozhijietiao.txt

📁 这是基于MATLAB的数字调相技术编程,包括对调制解调过程的编程以及其有效性和可靠性分析
💻 TXT
字号:
clear all;
close all;

fs=8e5;%抽样频率
fm=20e3;%基带频率
n=2*(6*fs/fm);
final=(1/fs)*(n-1);
fc=2e5; % 载波频率
t=0:1/fs:(final);
Fn=fs/2;%耐奎斯特频率

%=========================================
%用正弦波产生方波
%==========================================
twopi_fc_t=2*pi*fm*t; 
A=1;
phi=0;
x = A * cos(twopi_fc_t + phi);

% 方波
am=1;
x(x>0)=am;
x(x<0)=-1;

figure(1)
subplot(321);
plot(t,x);
axis([0 2e-4 -2 2]);
title('基带信号');
grid on

car=sin(2*pi*fc*t);%载波
ask=x.*car;%载波调制

subplot(322);
plot(t,ask);
axis([0 200e-6 -2 2]);
title('PSK信号');
grid on;

%=====================================================
vn=0.1;
noise=vn*(randn(size(t)));%产生噪音
subplot(323);
plot(t,noise);
grid on;
title('噪音信号');
axis([0 .2e-3 -1 1]);


askn=(ask+noise);%调制后加噪
subplot(324);
plot(t,askn);
axis([0 200e-6 -2 2]);
title('加噪后信号');
grid on;

%======================================================================
%带通滤波
%======================================================================
fBW=40e3;
f=[0:3e3:4e5];
w=2*pi*f/fs;
z=exp(w*j);
BW=2*pi*fBW/fs;
a=.8547;%BW=2(1-a)/sqrt(a)
p=(j^2*a^2);
gain=.135;
Hz=gain*(z+1).*(z-1)./(z.^2-(p));

subplot(325);
plot(f,abs(Hz));
title('带通滤波器');
grid on;


Hz(Hz==0)=10^(8);%avoid log(0)
subplot(326);
plot(f,20*log10(abs(Hz)));
grid on;
title('Receiver -3dB Filter Response');
axis([1e5 3e5 -3 1]);

%滤波器系数
a=[1 0 0.7305];%[1 0 p]
b=[0.135 0 -0.135];%gain*[1 0 -1]
faskn=filter(b,a,askn);
figure(2)
subplot(321);
plot(t,faskn);
axis([0 100e-6 -2 2]);
title('通过带通滤波后输出');
grid on;


cm=faskn.*car;%解调
subplot(322);
plot(t,cm);
axis([0 100e-6 -2 2]);
grid on;
title('通过相乘器后输出');

%===================================================================
%低通滤波器
%==================================================================
p=0.72;
gain1=0.14;%gain=(1-p)/2
Hz1=gain1*(z+1)./(z-(p));

subplot(323);
Hz1(Hz1==0)=10^(-8);%avoid log(0)
plot(f,20*log10(abs(Hz1)));
grid on;
title('LPF -3dB response');
axis([0 5e4 -3 1]);

%滤波器系数
a1=[1 -0.72];%(z-(p))
b1=[0.14 0.14];%gain*[1 1]

so=filter(b1,a1,cm);
so=so*10;%add gain
so=so-mean(so);%removes DC component
subplot(324);
plot(t,so);
axis([0 8e-4 -3.5 3.5]);
title('通过低通滤波器后输出');
grid on;
%======================================================
%Comparator
%======================================================
High=2.5;
Low=-2.5;
vt=0;%设立比较标准
error=0;
len1=length(so);
for ii=1:len1
  if so(ii) >= vt
  Vs(ii)=High;
  else
  Vs(ii)=Low;
  end
end
Vo=Vs;
subplot(325);
plot (t,Vo), title('解调后输出信号'),
axis([0 2e-4 -5 5])
grid on;
xlabel('时间 (s)'), ylabel('幅度(V)'),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -