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

📄 ex_12_11_1.m

📁 其中
💻 M
字号:
%  ex_12_11_1.m :  习题 12.11


clear all;
close all;

%题目给出的参数-------------------------------------------------------
N=256;
P=0.12;     
h=[1 -0.1 0.09 0.648];        %FIR滤波器系数
SNR=[10 50 50];   F=[0.1 0.25 0.26];          %三个信噪比和归一化频率

%步骤一:产生白噪声-----------------------------------------------
a=sqrt(P);
u=rand(1,20*N); 
u=u-mean(u);u=u*a;

%步骤二:滤波处理-----------------------------------------------------
v1=filter(h,1,u);
v=v1(1000:1000+N-1);

%步骤三:产生正弦序列----------------------------------------------------
A=sqrt(2*P*10.^(SNR/10))    %根据信噪比确定三个正弦函数的幅度
x1=A(1)*sin(2*pi*F(1)*[0:N-1]);
x2=A(2)*sin(2*pi*F(2)*[0:N-1]);
x3=A(3)*sin(2*pi*F(3)*[0:N-1]);

%步骤四:叠加信号,得到信号x---------------------------------------------
x=v+x1+x2+x3;
save testdat x;

%步骤五:求出信号x的真实功率谱---------------------------------------------
M=4096;H=freqz(h,1,M,1);H=abs(H);H=H.*H;H=P*H;
f=0:1/M:0.5-1/M;
power_y1=pi*A(1)*A(1)/2;
power_y2=pi*A(2)*A(2)/2;
power_y3=pi*A(3)*A(3)/2;
f1=0.1;f2=0.25;f3=0.26;
f1_n=round(f1*M);
f2_n=round(f2*M);
f3_n=round(f3*M);

H(f1_n)=H(f1_n)+power_y1;
H(f2_n)=H(f2_n)+power_y2;
H(f3_n)=H(f3_n)+power_y3;
PSD=10*log10(H/max(H)+eps);
figure('color','w');plot(f,PSD(1:2048));grid on;

⌨️ 快捷键说明

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