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

📄 tongdaojunheng.m

📁 本程序在MATLAB环境下仿真了基于宽带信号的通道均衡的FIR算法
💻 M
字号:
%% 通道均衡FIR滤波仿真

%% 信号生成
%% 信号参数  中心频率 0 MHz, 带宽 200MHz ,脉宽 100微秒 采样结果中取M点 

clear;
clc;

M=4096;%采样点数
N=16;%FIR滤波器阶数
Fs=500*10^6;%采样率
B=200*10^6;%带宽

%% 非均衡通道
% 通道参数
a0=1;a1=0.2;
b0=0.1;b1=0.1;
w=linspace(-B*pi/Fs,B*pi/Fs,M);%带宽-B/2~B/2转换到数字域为B/2*2pi*T

for i=1:1:M
    C(i)=1;%理想通道
    H(i)=(a0+a1*sin(6*w(i)))*exp(sqrt(-1)*(b0*w(i)+b1*cos(5*w(i))));  % H(i) 为待均衡通道的频率响应
    b(i)=C(i)/H(i);
end

%% 计算 A 矩阵
for m=1:1:M
    for n=1:1:N
        A(m,n)=exp(-sqrt(-1)*pi*B/Fs*(2*m-M-1)*(n-1)/(M-1));
    end
end

%% 对 A'*A 计算分解

% [G,err]=chol(abs(A'*A));
% 
% %% FIR  滤波器结果
% h=inv(conj(G'))*inv(G)*A'*conj(b');
h=inv(A'*A)*A'*conj(b');
f=A*h;
H1=H.*conj(f');
x(1:M-100)=H(51:M-50);
y(1:M-100)=H1(51:M-50);
xlable=linspace(-B/2,B/2,M-100);

subplot(2,2,1)
plot(xlable,abs(x));
axis([-B/2,B/2,0.5,1.5])
title('均衡前通道幅频响应')
xlabel('Hz')

subplot(2,2,2)
axis([-B/2,B/2,0.5,1.5]);
plot(xlable,abs(y))
axis([-B/2,B/2,0.5,1.5])
title('均衡后通道幅频响应')
xlabel('Hz')

subplot(2,2,3)
axis([-B/2,B/2,-15,15]);
plot(xlable,angle(x).*180./pi);
axis([-B/2,B/2,-20,20])
title('均衡前通道相频响应')
xlabel('Hz')
ylabel('度')

subplot(2,2,4)
axis([-B/2,B/2,-15,15]);
plot(xlable,angle(y).*180./pi)
axis([-B/2,B/2,-20,20])
title('均衡后通道相频响应')
xlabel('Hz')
ylabel('度')

⌨️ 快捷键说明

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