compensation of delay after filtering

2 views (last 30 days)
SSG_newbiecoder
SSG_newbiecoder on 1 Feb 2018
Commented: SSG_newbiecoder on 1 Feb 2018
Hello, I have a doubt. It is not related to matlab but if anyone can help me it will be great. I have a signal x[n]. I'm applying a filter on it. After filtering, there is a certain amount of shift in the output towards left which I need to remove. How can I do this? Can I somehow tweak the filter coefficients to ensure that this delay gets compensated?
  5 Comments
SSG_newbiecoder
SSG_newbiecoder on 1 Feb 2018
clc;clear all; close all;
A=[0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0];
plot(A),hold on;
Lo_D1=[1/8 3/8 3/8 1/8]; %%%LP filter coefficients
Hi_D1=[2 -2 0 0 ]; %%%Hp filter coefficients
[Approx1,Detail1] = swt(A,1,Lo_D1,Hi_D1);%%first level decomposition using atrous algorithm
CA1=Approx1(1,:);
CD1=Detail1(1,:);
plot(CD1);
shift1=(2.^(1))/2
shift_CD1=wshift(1,CD1,-shift1);
plot(shift_CD1,'k');
%
%
Lo_D2=[1/8 0 3/8 0 3/8 0 1/8 0];%%%LP filter coefficients for second level
Hi_D2=[0 0 2 0 -2 0 0 0]; %%%Hp filter coefficients for second level
[Approx2,Detail2] = swt(CA1,1,Lo_D2,Hi_D2);%%second level decomposition using atrous algorithm
CA2=Approx2(1,:);
CD2=Detail2(1,:);
% plot(CD2,'c');
shift2=(2.^(2))/2
shift_CD2=wshift(1,CD2,-shift2);
plot(shift_CD2,'m');

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!