📄 bpsk_demod.m
字号:
%-----双极性BPSK(相乘法)-----%
clc;
clear;
M=10;%发送符号数
scode=randint(1,M) %发送bit
scode0=scode; %保存初始bit
flag=find(scode==0);
scode(flag)=-1 %转换成双极性码
Tb=1/5;%码元宽度
f0=1600;%载波频率
fs=10*f0;%采样频率
t=0:1/fs:Tb;%码元采样时间
N=length(t);%码元采样点数
x=cos(2*pi*f0*t);%产生载波信号
r=[]; %调制信号
for i=1:M
dd=(repmat(scode(i),1,N));
source=dd(:)';
r=[r,x.*source] ;
end
plot(r)
u=cos(2*pi*f0*t); %载波恢复
Wp=200/fs;Ws=900/fs; %Wp:归一化通带截止频率;Ws:归一化阻带截止频率
[n,Wn]=buttord(Wp,Ws,3,40); %返回巴特沃斯低通滤波器最小阶数,和截止频率
[A,B]=butter(n,Wn); %求得滤波器系数
l=round(N/2); %抽样判决点
for i=1:M
rr=r((i-1)*N+1:i*N);
rc=filter(A,B,rr.*u); %滤波
out(i)=rc(l); %中值抽样判决
if out(i)>0
out1(i)=1;
else
out1(i)=-1;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -