⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fai.m

📁 基于matlab的gmsk信号的调制
💻 M
字号:
% q = quad(fun,a,b)
%f = inline('3*sin(2*x.^2)')
%g = inline('t^2')
%g =
%Inline function:
%g(t) = t^2
%之后f即可当函数使用,当然也可以通过function来定义函数
%将关于g(t)的五个积分值算出来存于一个矩阵中,用的是固定的函数(通过inline定义的)
%进行的是固定上下限的积分
%构建一个32行5列的矩阵,用于存储b(-2,-1,0,1,2)的32种组合,是双极性的
%循环是构建一个1行5列的矩阵,就是从上述矩阵中取出一行,然后与积分所得的矩阵相乘,
%而后再将相乘所得的矩阵sum求和
%而后再加上L*pi/2即得fai(0)
%之后再计算积分的方法类似,不过积分限发生了变化
%从而构建出fai(k)的1024列的表
a=zeros(1,5);
T=1/270833;
a(1)=quad(@g,-2.5*T,1.5*T);
a(2)=quad(@g,-2.5*T,0.5*T);
a(3)=quad(@g,-2.5*T,-0.5*T);
a(4)=quad(@g,-2.5*T,-1.5*T);
a(5)=0;
b=[0,0,0,0,0];
c=[0,0,0,0,0];
d=zeros(1,32);
f=zeros(1,1024);
for l=[0:3]
 for n=[0:31]
    for ii=[1:5]
    b(ii)=bitget(n,(6-ii));%b1,b2,b3,b4,b5分别为n对应的二进制数的高位到低位
    if b(ii)==0,b(ii)=-1;end;
    end
    c=b.*a;
    d(n+1)=sum(c);
    jj1=0;
    for ii1=[0:7]
    jj1=jj1+T/8;
    a1(ii1+1)=quad(@g,1.5*T,1.5*T+jj1);
    a2(ii1+1)=quad(@g,0.5*T,0.5*T+jj1);   
    a3(ii1+1)=quad(@g,-0.5*T,-0.5*T+jj1);
    a4(ii1+1)=quad(@g,-1.5*T,-1.5*T+jj1);
    a5(ii1+1)=quad(@g,-2.5*T,-2.5*T+jj1);
    e(ii1+1)=b(1)*a1(ii1+1)+b(2)*a2(ii1+1)+b(3)*a3(ii1+1)+b(4)*a4(ii1+1)+b(5)*a5(ii1+1);
    f(32*n+8*l+ii1+1)=l*pi/2+d(n+1)*pi+e(ii1+1)*pi;
    fsin(32*n+8*l+ii1+1)=sin(f(32*n+8*l+ii1+1))+1;
    fcos(32*n+8*l+ii1+1)=cos(f(32*n+8*l+ii1+1))+1;
    end     
 end
end    

f







    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -