matlab中bpf怎么设置,为啥找不到 'bpf' 的完全匹配项(区分大小写)?

%QPSK & OQPSK

clear all;

close all;

M=4;

Ts=1;

fc=10;

N_sample=16;

N_num=100;

dt=1/fc/N_sample;

t=0:dt:N_num*Ts-dt;

T=dt*length(t);

py1f=zeros(1,length(t));   %功率谱密度1

py2f=zeros(1,length(t));   %功率谱密度2

for PL=1:100  %输入100段N_num个码字的波形,为了使功率谱密度看起来更加平滑,

%可以取这100段信号功率谱密度的平均

d1=sign(randn(1,N_num));

d2=sign(randn(1,N_num));

gt=ones(1,fc*N_sample);

%QPSK调制

s1=sigexpand(d1,fc*N_sample);

s2=sigexpand(d2,fc*N_sample);

b1=conv(s1,gt);

b2=conv(s2,gt);

s1=b1(1:length(s1));

s2=b2(1:length(s2));

st_qpsk=s1.*cos(2*pi*fc*t)-s2.*sin(2*pi*fc*t);

s2_delay=[-ones(1,N_sample*fc/2) s2(1:end-N_sample*fc/2)];

st_oqpsk=s1.*cos(2*pi*fc*t)-s2_delay.*sin(2*pi*fc*t);

%经过带通后,在经过非线性电路

[~, y1f]=T2F(t,st_qpsk);

[f, y2f]=T2F(t,st_oqpsk);

[~, y1]=bpf(f,y1f,fc-1/Ts,fc+1/Ts);

[t, y2]=bpf(f,y2f,fc-1/Ts,fc+1/Ts);

subplot(221);

plot(t,y1);xlabel('t');ylabel('QPSK波形');

axis([5 15 -1.6 1.6]);title('经过带通后的波形');

subplot(222);

plot(t,y2);xlabel('t');ylabel('OQPSK波形');

axis([5 15 -1.6 1.6]);title('经过带通后的波形');

%经过非线性电路

y1=1.5*tanh(2*y1);

y2=1.5*tanh(2*y2);

[~, y1f]=T2F(t,y1);

[f, y2f]=T2F(t,y2);

py1f=py1f+abs(y1f).^2/T;   %QPSK不同段信号功率谱密度相加

py2f=py2f+abs(y2f).^2/T;   %OQPSK不同段信号功率谱密度相加

end

py1f=py1f/100;                  %QPSK100段功率谱密度平均

py2f=py2f/100;                  %OQPSK100段功率谱密度平均

subplot(223);

plot(f,10*log10(py1f));xlabel('f');ylabel('QPSK功率谱密度(dB/Hz)');

title('经过非线性电路后的功率谱密度');axis([-15 15 -30 10]);

subplot(224);

plot(f,10*log10(py2f));xlabel('f');ylabel('OQPSK功率谱密度(dB/Hz)');

title('经过非线性电路后的功率谱密度');axis([-15 15 -30 10]);

figure(2)

x=-2:0.1:2;

y=1.5*tanh(2*x);

plot(x,y);title('非线性电路的输入输入函数')

function[t,out]=BPF(f,Sf,fc,B)

df=f(2)-f(1);

%T=1/df;

N=length(f);

NC=floor(N/2);

Nfc=floor(fc/df);

NB2=floor(B/df/2);

%dt=floor(T/N);

%t=[0:N-1]*dt;

bpfH=zeros(1,N);

N1=[NC-Nfc+[-NB2:NB2],NC+Nfc+[-NB2:NB2]];

bpfH(N1)=1;

Yf=bpfH.*Sf;

[t,out]=IFFT_SHIFT(f,Yf);

一运行就出这个

>> oqpsk

找不到 'bpf' 的完全匹配项(区分大小写)。

最接近的匹配项为: BPF(在 C:\Users\lenovo\Documents\MATLAB\BPF.m 中)

出错 oqpsk (line 40)

[~, y1]=bpf(f,y1f,fc-1/Ts,fc+1/Ts);

为啥呢 求大神解答

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值