贝塞尔插值 matlab,bessel插值法算法MATLAB源码与资料 含有LFM,单频脉冲和BPSK

该博客探讨了在MATLAB环境中,利用贝塞尔插值处理LFM(线性调频)信号与BPSK(二进制相移键控)调制解调的过程。首先生成单频脉冲和BPSK调制信号,然后进行贝塞尔插值以平滑信号。接着,通过低通滤波器对正交包络信号进行滤波,最后展示滤波后的时域波形和频域特性。
摘要由CSDN通过智能技术生成

clear ;

close all;

clc;

% parameter

f0      =   20e+6

fs=8e6;

t0=0.00006;

t2=0:1/fs:(t0-1/fs);

f0=1e7;

f1=2e5;

k=33e8;

N=1024;

T=N/fs;

t=0:1/fs:(T-1/fs);

x1=cos(2*pi*(f0*t2+k*t2.^2));

%单频脉冲时 x1里t2的系数为0,注释掉下面的一段;BPSK时,x1里t2的系数为0,不注释掉下面的一段;LFM时, x1里t2的系数为k,注释掉下面的一段

% Code_Num=6;%码元个数

% n=100;

% f1=@(t)sin(2*pi*Code_Num/t0*n*t);

% f2=@(t)sin(-2*pi*Code_Num/t0*n*t);

% code=rand(1,Code_Num)>0.5;

% for i=1:fs*t0

%     m=floor(t2(i)/(t0/Code_Num));

%     x1(i)=code(m+1)*f1(t2(i)-m*(t0/Code_Num))+(1-code(m+1))*f2(t2(i)-m*(t0/Code_Num));

% end

x=[x1 zeros(1,N-length(t2))];

figure(1);

plot(t,x);

title('原始信号')

xlabel('时间/s')

ylabel('幅度/v')

%贝塞尔插值

for i=1:length(x)/2

y1(i)=x(2*i-1)*(-1)^(i-1);

y2(i)=x(2*i)*(-1)^(i);

end

for k=3:i-1

z1(k-2)=9*(y1(k-1)+y1(k))/16-(y1(k-2)+y1(k+1))/16;

z2(k-2)=y2(k-1);

end

figure(2)

subplot(2,1,1),plot(1:length(y1),y1,'r-',1:length(y1),y2,'b-');

title('贝塞尔插值前的信号')

subplot(2,1,2),plot(1:length(z1),z1,'r-',1:length(z1),z2,'b-');

title('贝塞尔插值后的信号')

y1_original=zeros(1,length(x));

y2_original=zeros(1,length(x));

y1_original(2:2:length(x))=y1_original(1:2:length(x)-1)+y1(1:length(x)/2);

y2_original(2:2:length(x))=y2_original(2:2:length(x))+y2(1:length(x)/2);

% figure(4)

% plot(t,y1_original,'r-',t,y2_original,'b-');

%设置低通滤波器,并将两个正交的包络信号输入低通滤波器

% wp=400/(fs/2/1e3);

% ws=800/(fs/2/1e3);

wp=400/(fs/2/1e3);

ws=600/(fs/2/1e3);

rp=1;%通带最大衰减

rs=50;%阻带最小衰减

%使用巴特沃斯滤波器实现低通滤波器

[n,Wn]=buttord(wp,ws,rp,rs);

[b,a]=butter(n,Wn);

%两个低通滤波器输出的信号

y1_lowpass=filter(b,a,y1_original);

y2_lowpass=filter(b,a,y2_original);

%画出两个低通滤波器输出信号的时域波形和频域波形

figure(4)

plot(t,y1_lowpass,'r-',t,y2_lowpass,'b-');

title('低通滤波后的信号')

xlabel('时间/s')

ylabel('幅度/v')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值