窄脉冲matlab实现,[求助]如何获得与50Hz工频同步的窄脉冲信号

icon4.gif 回复: [求助]如何获得与50Hz工频同步的窄脉冲信号

global dt df t f N

close all

N=2^14; %采样点数

L=32; %每码元的采样点数

M=N/L %码元数

Rb=2;%码速率是2Mb/s

Ts=1/Rb; %码元间隔

dt=Ts/L; %时域采样间隔

df=1/(N*dt) %频域采样间隔

T=N*dt %截短时间

Bs=N*df/2 %系统带宽

Na=4; %示波器扫描宽度为4个码元

alpha=0.5;

t=[-T/2+dt/2:dt:T/2]; %时域横坐标

f=[-Bs+df/2:df:Bs]; %频域横坐标

%升余弦

hr1=sin(pi*t/Ts)./(pi*t/Ts);

hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);

hr=hr1.*hr2;

HR=abs(t2f(hr));%取模是为了忽略时延

GT=sqrt(HR);

GR=GT;

EP=zeros(size(f));

EP1=EP;

for loop1=1:10

Eb_N0(loop1)=(loop1-1); %Eb/N0 in dB

eb_n0(loop1)=10^(Eb_N0(loop1)/10);

Eb=1;

n0=Eb/eb_n0(loop1); %信道的噪声谱密度

sita=n0*Bs; %信道中噪声功率

n_err=0; %误码计数

for loop2=1:3

a=sign(randn(1,M));

a1=zeros(L,M);

for loop=1:L,a1(loop,

smile.gif=a; end

a1=reshape(a1,1,N);

A1=t2f(a1);

P=A1.*conj(A1)/T; %功率谱

EP=(EP*(loop2-1)+P)/loop2; %累计平均

F=30+10*log10(EP+eps); %加eps以避免除以零

%观察信道的眼图

b=sign(randn(1,M))+1;

imp=zeros(1,N); %产生冲激序列

imp(L/2:L:N)=b/dt;

S=t2f(imp).*HR; %升余弦信号的傅氏变换

s=f2t(t2f(imp).*HR); %升余弦信号的时域波形

s=real(s);

%噪声

n_ch=sqrt(sita)*randn(size(t)); %信道噪声

nr=real(f2t(t2f(n_ch).*GR)); %输出噪声

sr=real(f2t(A1.*HR))+nr; %接收信号

y=sr(L/2:L:N); %取样

aa=sign(y); %判决

n_err=n_err+length(find(aa~=a)) ;

y1=zeros(L,M);

for loop=1:L,y1(loop,

smile.gif=aa; end

y1=reshape(y1,1,N);

Y1=t2f(y1);

P1=Y1.*conj(Y1)/T; %功率谱

EP1=(EP1*(loop1-1)+P1)/loop1; %累计平均

F1=30+10*log10(EP1+eps);%加eps以避免除以零

end

Pe(loop1)=n_err/(M*loop2);

end

figure(1)

%输入波形

hold on

plot(t,a1,'g')

axis([-7,+7,-2,+2])

xlabel('t(us)')

ylabel('s(t)(V)')

figure(2)

%输入信号为双极性不归零码的功率谱

plot(f,F,'r'); grid

axis([-7,+7,-50,+50])

xlabel('f(MHZ)')

ylabel('Psi(f)(MHZ)')

figure(3)

%输出波形

hold on

plot(t,y1,'g')

axis([-7,+7,-2,+2])

xlabel('t(us)')

ylabel('s(t)(V)')

figure (4) %接收信号的功率谱

plot(f,F1,'r'); grid

axis([-7,+7,-50,+50])

xlabel('f(MHZ)')

ylabel('Pso(f)(MHZ)')

figure(5) %信道的眼图

hold on

tt=[0:dt:4*L*dt];

for jj=1:4*L:N-4*L

plot(tt,s(jj:jj+4*L));

end

figure(6) %输出信号的眼图

hold on

tt=[0:dt:4*L*dt];

for jj=1:4*L:N-4*L

plot(tt,sr(jj:jj+4*L));

end

figure(7)

%判决波形和输出波形的比较

hold on

plot(t,sr,'g')

plot(t,y1,'r');grid

axis([-7,+7,-2,+2])

xlabel('t(us)')

ylabel('s(t)(V)')

figure(8) %误比特率曲线

semilogy(Eb_N0,Pe,'g');

eb_n0=10.^(Eb_N0/10);

hold on

semilogy(Eb_N0,0.5*erfc(sqrt(eb_n0)));

axis([0,9,1e-4,1])

xlabel('Eb/N0')

ylabel('Pe')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值