• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签: MATLAB  多相滤波  

资源简介

多相滤波数字信道化MATLAB源码,包含一个多相滤波数字信道化函数和一个测试脚本,划分信道个数以及滤波器长度均可设置,亲测可用。

资源截图

代码片段和文件信息

function sigs = polyPhaseFilter(sigDfnwt)
% polyPhaseFilter 多相滤波信道化实现
% sig  信道化输入数据,为列向量
% D    信道化个数(default: D = 8)
% fn   滤波器阶数,要求是D 的整数倍(default: fn = 255)
% wt   过渡带带宽(0~1default: wt = 1/(2*D))
% sigs 信道化后的输出数据,每一列为一个信道的输出
%
% Example : 
%      % 生成线性调频信号
%      N = 4096;        % 信号长度
%      fnormi = -0.5;   % 起始频率
%      fnormf = 0.5;    % 终止频率
%      y = (1:N)‘;
%      y = fnormi*y + ((fnormf-fnormi)/(2.0*(N-1))) * ((y-1).^2);
%      sig = exp(j*2.0*pi*y);
%    sigs = polyPhaseFilter(sig166390.3)
 
% Author    : Jackie Wang
% Email     : falwat@163.com
% QQ        : 1522011218
% Date      : 2017/05/31
%
% Copyright (c) 2017 by Jackie Wang(China).
% All rights reserved.

if nargin==1
    D = 8;  fn = 255; wt = 1/(2*D);
elseif nargin==2
    fn = 255; wt = 1/(2*D);
elseif nargin==3
    wt = 1/(2*D);
end


% 数据抽取
Polyphase_signal = reshape(sigDlength(sig)/D);
Polyphase_signal = flipud(Polyphase_signal);
[mmnn]=size(Polyphase_signal);

% 原型滤波器
original_fir = firgr(fn[0 1/D*(1-wt/2)  1/D*(1+wt/2)  1][1 1 0 0]);

% 多相滤波系数抽取
Polyphase_fir = reshape(original_firDlength(original_fir)/D);

% 滤波器前 指数相乘
Signal_mul = zeros(mmnn);
nv = 0:nn-1;
for ii=1:mm
    Signal_mul(ii:) = Polyphase_signal(ii:).*(-1).^nv;
%     Signal_mul(ii:) = Polyphase_signal(ii:)*(-1)^ii.* exp(1i*pi*(nv*D-ii)/D);
end

% 滤波
Signal_fir = zeros(mmnn);
for ii = 1:mm
Signal_fir(ii:) = filter(Polyphase_fir(ii:)1Signal_mul(ii:));
end

% FFT 前指数相乘
Signal_pre_fft = zeros(mmnn);
for ii = 1:mm
Signal_pre_fft(ii:) = Signal_fir(ii:)*(-1)^ii* exp(-1i*pi*ii/D);
end

% D 点 FFT
Signal_fft = zeros(mmnn);
for jj = 1:nn
Signal_fft(:jj) = fft(Signal_pre_fft(:jj)D);
end

sigs = Signal_fft‘;


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-17 06:54  polyPhaseFilter\
     文件        1894  2017-05-31 12:59  polyPhaseFilter\polyPhaseFilter.m
     文件         792  2017-05-31 12:51  polyPhaseFilter\test_polyPhaseFilter.m

评论

共有 条评论