📄 errrr.m
字号:
clc
clear,close all;
fs=200e3;
f0=12e3;
df=(3.2e3)/8;
T=1/df/2;
% message to be transmitted
signal1=randint(1,21,2);
msg1=signal1
% signal1=2*signal1-1;
signal2=randint(1,21,2);
msg2=signal2
% signal2=2*signal2-1;
% address make
gen=[1 1 0 1]; % sv(j)=4[(a(j)+v0)mod2]+2[(a(j+1)+v1)mod2]+[(a(j+2))mod2]
address=address_make(gen);
add1=address(1,:);
add2=address(2,:);
add3=address(3,:);
add4=address(4,:);
add5=address(5,:);
%
sig1=ones(fs*T,1)*signal1;
sig1=sig1(:)';
sig2=ones(fs*T,1)*signal2;
sig2=sig2(:)';
%
add1=add1';
add11=de2bi(add1);
add11=add11';
add11=add11(:)';
add2=add2';
add22=de2bi(add2);
add22=add22';
add22=add22(:)';
a1=mod(signal1+add11,2);
a2=mod(signal2+add22,2);
a1=reshape(a1,3,length(a1)/3);
a1=a1';
a1=bi2de(a1)'
a2=reshape(a2,3,length(a2)/3);
a2=a2';
a2=bi2de(a2)'
%
carrier1=[];
for i=1:length(a1)
carrier1=[carrier1 cos(2*pi*(f0+a1(i)*df)/fs*(0:fs*T-1))];
end
carrier2=[];
for i=1:length(a2)
carrier2=[carrier2 cos(2*pi*(f0+a2(i)*df)/fs*(0:fs*T-1))];
end
carrier=carrier1+carrier2;
tx=carrier;
% tx=carrier+randn(size(carrier))
tr=reshape(tx,T*fs,length(tx)/(T*fs));
tr=tr';
clear i
for i=1:size(tr,1)
for j=1:8
demod(i,j)=tr(i,:)*cos(2*pi*(f0+(j-1)*df)*(0:T*fs-1)/fs)';
end
end
[m,index]=max(demod,[],2);
index=index-1;
index=de2bi(index);
index=index';
index=index(:);
b1=mod(index'+add11,2)
b2=mod(index'+add22,2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -