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

📄 fangzhen1.m

📁 用matlab进行信号的仿真实验
💻 M
字号:
%产生信号并采样;
A=[10,20,30,40];
B=[4,6,7,10];
C=[0,pi/2,pi/2,pi/4];
D=[pi/6,pi/4,pi/3,pi/2];
f=[35,280,1120,4480];
fs=[3500,28000,112000,448000];
M=1000;
for i=1:4;
        k=[1:M];
        A1(k)=A(1)*sin(2*pi*f(1)*k/fs(i)+C(1));
        A2(k)=A(2)*sin(2*pi*f(2)*k/fs(i)+C(2));
        A3(k)=A(3)*sin(2*pi*f(3)*k/fs(i)+C(3));
        A4(k)=A(4)*sin(2*pi*f(4)*k/fs(i)+C(4));
        B1(k)=B(1)*sin(2*pi*f(1)*k/fs(i)+D(1));
        B2(k)=B(2)*sin(2*pi*f(2)*k/fs(i)+D(2));
        B3(k)=B(3)*sin(2*pi*f(3)*k/fs(i)+D(3));
        B4(k)=B(4)*sin(2*pi*f(4)*k/fs(i)+D(4));
        if i==1
            A1x=A1(k)+A2(k)+A3(k)+A4(k);
            B1x=B1(k)+B2(k)+B3(k)+B4(k);
        end
        if i==2
           A2x=A1(k)+A2(k)+A3(k)+A4(k);
           B2x=B1(k)+B2(k)+B3(k)+B4(k);
        end
        if i==3
            A3x=A1(k)+A2(k)+A3(k)+A4(k);
            B3x=B1(k)+B2(k)+B3(k)+B4(k);
        end
        if i==4
             A4x=A1(k)+A2(k)+A3(k)+A4(k);
             B4x=B1(k)+B2(k)+B3(k)+B4(k);
       end 

end
   figure;
   plot(A1x);
   resample(A1x,1,10);
   title('混合信号A1x');
   %滤波器设计;
   wp=[25 45]*2/3500;N=200;
   b=fir1(N,wp);
   save('b.txt','b','-ascii');
   figure;
   stem(b);
   w=0:1/200:1;
   hd=freqz(b,1,w);
   figure;
   plot(w,20*log(abs(hd)));
   title('滤波器');
    %对A通道进行滤波;
    %滤出频率为35hz的波形;
    y1=juanji(b,A1x);
    figure;
    stem(k,y1);
    title('A通道 f=35hz');
    %滤出频率为280hz的信号
    y2=juanji(b,A2x);
    figure;
    stem(k,y2);
    title('A通道 f=280hz');
    %滤出1120hz的信号;
    y3=juanji(b,A3x);
    figure;
    stem(k,y3);
    title('A通道 f=1120hz');
    %滤出4480hz的信号;
    y4=juanji(b,A4x);
    figure;
    stem(k,y4);
    title('A通道 f=4480hz');
    %对B通道进行滤波 
    y5=juanji(b,B1x);
    figure;
    stem(k,y5);
    title('B通道 f=35hz');
    %滤出频率为280hz的信号
    y6=juanji(b,B2x);
    figure;
    stem(k,y6);
    title('B通道 f=280hz');
    %滤出1120hz的信号;
    y7=juanji(b,B3x);
    figure;
    stem(k,y7);
    title('B通道 f=1120hz');
    %滤出4480hz的信号;
    y8=juanji(b,B4x);
    figure;
    stem(k,y8);
    title('B通道 f=4480hz');
    %求自相关
    [c,lags]=xcorr(y1,1000,'unbiased');
    figure;
    stem(lags/350,c);
    
%分别求出各频率的幅度 
FA1=fudu(y1,y1)
FA2=fudu(y2,y2) 
FA3=fudu(y3,y3) 
FA4=fudu(y4,y4) 
FB1=fudu(y5,y5) 
FB2=fudu(y6,y6) 
FB3=fudu(y7,y7)
FB4=fudu(y8,y8)  
%进行相位测量 
y55=imag( yixiang(y5));
y66=imag( yixiang(y6));
y77=imag( yixiang(y7));
y88=imag( yixiang(y8));
AB1=AB(y1,y5);
AB2=AB(y2,y6);
AB3=AB(y3,y7);
AB4=AB(y4,y8);
AB5=AB(y1,y55);
AB6=AB(y2,y66);
AB7=AB(y3,y77);
AB8=AB(y4,y88);
P1=atan(AB5/AB1)
P2=atan(AB6/AB2)
P3=atan(AB7/AB3)
P4=atan(AB8/AB4)

⌨️ 快捷键说明

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