📄 fir2lift.c
字号:
/*
FILE : FIR2LIFT.C
Factor a wavelet FIR filter pair into all possible combinations of
lifting steps.
(C) C. Valens
Created : 24/09/1999
Last update : 27/09/1999
*/
#include "redir.h"
#include "zpoly.h"
#include "factor.h"
#include <stdlib.h>
#include <stdio.h>
zpoly_pair CDF42(void)
{
zpoly_pair fir = {NULL,NULL};
fir.p1 = zpoly_add_element_to(fir.p1,-3,3);
fir.p1 = zpoly_add_element_to(fir.p1,-2,-12);
fir.p1 = zpoly_add_element_to(fir.p1,-1,5);
fir.p1 = zpoly_add_element_to(fir.p1,0,40);
fir.p1 = zpoly_add_element_to(fir.p1,1,5);
fir.p1 = zpoly_add_element_to(fir.p1,2,-12);
fir.p1 = zpoly_add_element_to(fir.p1,3,3);
zpoly_scale(fir.p1,0.03125);
fir.p2 = zpoly_add_element_to(fir.p2,-3,1);
fir.p2 = zpoly_add_element_to(fir.p2,-2,-4);
fir.p2 = zpoly_add_element_to(fir.p2,-1,6);
fir.p2 = zpoly_add_element_to(fir.p2,0,-4);
fir.p2 = zpoly_add_element_to(fir.p2,1,1);
zpoly_scale(fir.p2,0.0625);
return fir;
}
zpoly_pair DD22(void)
{
zpoly_pair fir = {NULL,NULL};
fir.p1 = zpoly_add_element_to(fir.p1,-2,-0.125);
fir.p1 = zpoly_add_element_to(fir.p1,-1,0.25);
fir.p1 = zpoly_add_element_to(fir.p1,0,0.75);
fir.p1 = zpoly_add_element_to(fir.p1,1,0.25);
fir.p1 = zpoly_add_element_to(fir.p1,2,-0.125);
fir.p2 = zpoly_add_element_to(fir.p2,-2,0.25);
fir.p2 = zpoly_add_element_to(fir.p2,-1,-0.5);
fir.p2 = zpoly_add_element_to(fir.p2,0,0.25);
return fir;
}
int main(int argc, char *argv[])
{
zpoly_pair fir;
factor_list *fl;
printf(" FIR2LIFT, (C) C. Valens, 1999.\n");
printf(" Factor a wavelet FIR filter pair into lifting steps.\n\n");
if ((argc<2) || (argc>3)) {
redir_open(0,0);
}
else if (argc==2) {
redir_open(argv[2],0);
}
else if (argc==3) {
redir_open(argv[2],argv[3]);
}
redir_printf("*** FIR2LIFT, (C) C. Valens, 1999.\n\n");
fir = DD22();
redir_printf("*** h(z) = [");
zpoly_write(fir.p1);
redir_printf("]\n");
redir_printf("*** g(z) = [");
zpoly_write(fir.p2);
redir_printf("]\n\n");
fl = factor_this_baby_now(fir);
gimme_my_lifting_steps(fl);
redir_printf("\n*** Done.\n");
redir_close();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -