📄 selina4.m
字号:
%实验一
%余弦信号的傅立叶变换
global dt df N t f T %全局变量
close all
N=2^15; %采样点数
% L=64; %每码元的采样点数
% M=N/L; %码元数
M=2^8;%码元数
dt=0.01; %时域采样间隔
df=1/(N*dt);%频域采样间隔
T=N*dt; %截短时间
Bs=N*df/2; %系统带宽
t=linspace(-T/2,T/2,N);
f=linspace(-Bs,Bs,N);
fl=3.1;
fh=10.6;
B1=(fh-fl)/M;
for loop1=1:10
Eb_N0(loop1)=(loop1-1); %分贝值变为真值
eb_n0(loop1)=10^(Eb_N0(loop1)/10);
Eb=1;
n0=Eb/eb_n0(loop1); %信道噪声谱密度
sita=n0*B1*M;
n_err=0;
Ebn=1/M;
A=sqrt(2*Ebn);
% for loop2=1:3
S=zeros(1,N);
aa=zeros(1,M);
s=zeros(1,N);
rk=zeros(1,N);
a=round(rand(1,M));
n_ch=sqrt(sita)*randn(size(t));
for k=1:M
f0=fl+(k-0.5)*B1;
sn=(2*a(k)-1)*A*cos(2*pi*f0*t);
s=sn+s;
end
S=abs(t2f(s));
s=s+n_ch;
R=t2f(s);
for k=1:M
f0=fl+(k-0.5)*B1;
rn=cos(2*pi*f0*t);
rk=rk+rn;
end
Rk=t2f(rk);
for k=1:M
x=angle(R(N/2+round((fl+(k-0.5)*B1)/df)+1))-angle(Rk(N/2+round((fl+(k-0.5)*B1)/df)+1));
aa(k)=abs(sign(round(x)))*-1+1;
end
n_err=n_err+length(find(aa~=a)) ;
% end
% Pe(loop1)=n_err/M*3;
Pe(loop1)=n_err/M;
end
Pe
figure(1)
set(1,'position',[10,50,300,200])%设定窗口位置及大小
figure(2)
set(2,'position',[350,50,300,200]);%设定窗口位置及大小
figure(3)
set(3,'position',[350,50,300,200]);%设定窗口位置及大小
figure(1)
plot(f,S,'g')
grid;
axis([-fh,fh,min(S),max(S)]);
xlabel('f(kHZ)');
ylabel('S(f)(V/kHZ)');
figure(2)
plot(t,s,'b')
grid
axis([-T/2,T/2,min(s),max(s)]);
xlabel(('t(ms)'));
ylabel('s(t)(V)');
figure(3)
semilogy(Eb_N0,Pe,'g');
axis([0,9,1e-2,1])
xlabel('Eb/N0')
ylabel('Pe')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -