📄 xinyuan.m
字号:
clear all
close all
%产生信源
L=10;
x=bingen(L);
figure(1)
t=1:10;
plot(t,x)
t=1/1024:1/1024:10;
%频谱图
dt=t(2)-t(1);
T=t(end);
df=1/T;
N=length(x);
f=-N/2*df:df:N/2*df-df;
%产生扩频码
L1=5;
h=getsscode(L1);
%扩展信源
x1=expanded1(x,L1);
x2=expanded1(x1,L1);
sf=1/1024*fft(x2(1:1024));
sf=fftshift(sf);
figure(2)
subplot(211)
plot(1:length(sf),abs(sf));
xlabel('f');ylabel('sf');
t=1:length(x1);
figure(3);
plot(t,x1,'-*')
axis([1,320,-2,2]);
%截取扩频码相同长度的扩展信源并与扩频码相乘
y=cut(x1,h);
y1=expanded1(y,L1);
figure(2)
subplot(212)
sf=1/1024*fft(y1(1:1024));
sf=fftshift(sf);
plot(1:length(sf),abs(sf));
xlabel('f');ylabel('sf');
figure(4)
plot(x1,y)
axis([1,64,-2,2])
%载波抽样;
fc=1024;
ft=64;
t=1/fc:1/fc:10;
a=cos(2*pi*ft*t);
%扩展扩频后信号;
L2=log2(2*fc/ft);
x2=expanded1(y,L2);
t=1:length(x2);
figure(5)
plot(t,x2,'-k')
axis([1,1280,-2,2])
%调制
z=a.*x2;
figure(6)
plot(1:128,z(1:128),'-k')
%求出发送的原始信号的频谱图;
figure(7)
sf=1/1024*fft(z(1:1024));
plot(1:length(sf),abs(sf));
xlabel('f');ylabel('sf');
M=length(sf)/2;
sfx=abs(sf).^2; %求能量;
figure(9) % 画出能量幅度谱
plot(1:length(sf),sfx);
sfx1=max(sfx) %求最大能量
sfM=0.3*sfx1; %设置能量下降70%时的能量值为门限值
M=length(sf)/2;
[f1,f2]=bro(M,sfx,sfM); %调用子函数求谱零点单边带宽
f1
f2
fr=f2-f1
N=10;
fp=3*fr;fq=fr/3;
%调用干扰生成子函数,得到干扰信号
s1=bnoise(N,fp);
s1=s1.*a; %使干扰信号与发送信号同步
s2=wnoise(N,fq);
s2=s2.*a;
s3=sinanoi(fr,fc);
s3=s3.*a;
s4=mnoise(fr,fc);
s4=s4.*a;
s5=eqnoi(fr,fc);
s5=s5.*a;
%得出添加干扰信号后的频谱图
y1=z+s1;
figure(8)
subplot(511)
sf=1/1024*fft(y1(1:1024));
plot(1:length(sf),abs(sf));
xlabel('f');ylabel('sf');
y2=z+s2;
figure(8)
subplot( 512)
sf=1/1024*fft(y2(1:1024));
plot(1:length(sf),abs(sf));
xlabel('f');ylabel('sf');
y3=z+s3;
figure(8)
subplot(513)
sf=1/1024*fft(y3(1:1024));
plot(1:length(sf),abs(sf));
xlabel('f');ylabel('sf');
y4=z+s4;
figure(8)
subplot(514)
sf=1/1024*fft(y4(1:1024));
plot(1:length(sf),abs(sf));
xlabel('f');ylabel('sf');
y5=z+s5;
figure(8)
subplot(515)
sf=1/1024*fft(y5(1:1024));
plot(1:length(sf),abs(sf));
xlabel('f');ylabel('sf');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -