?? selina2.m
字號:
%實驗一
%余弦信號的傅立葉變換
global dt df N t f T %全局變量
close all
N=2^15; %采樣點數
% L=64; %每碼元的采樣點數
% M=N/L; %碼元數
M=2^5;%碼元數
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);
a=round(rand(1,M));
aa=zeros(1,M);
fl=3.1;
fh=10.6;
% f0=fh;
B1=(fh-fl)/M;
s=zeros(1,N);
rk=zeros(1,N);
S=zeros(1,N);
S1=zeros(1,N);
% sn=cos(2*pi*f0*t);
Eb_N0=10 %分貝值變為真值
eb_n0=10^(Eb_N0/10);
Eb=1;
n0=Eb/eb_n0; %信道噪聲譜密度
sita=n0*B1*M;
n_ch=sqrt(sita)*randn(size(t));
Ebn=1/M;
A=sqrt(2*Ebn);
for k=1:M
% k=1;
f0=fl+(k-0.5)*B1
% f0=fh;
sn=(2*a(k)-1)*A*cos(2*pi*f0*t);
% Sn=angle(t2f(sn));
% Sn1=t2f(sn);
% S=Sn+S;
% S1=Sn1+S1;
s=sn+s;
end
S=abs(t2f(s));
%a=f2t(S);
% s=s+n_ch;
% s=f2t(S1);
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
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)
% as=abs(S); %求模
plot(f,S,'g')
grid;
% axis([fl,fh,min(S),max(S)]);
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)
% % as=abs(S); %求模
% plot(f,Rk,'g')
% grid;
% % axis([fl,fh,min(S),max(S)]);
% axis([fl,fh,min(S),max(S)]);
% xlabel('f(kHZ)');
% ylabel('S(f)(V/kHZ)');
a
aa
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -