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

📄 factor.h

📁 FIR2LIFT is a program to factor a wavelet FIR filter pair into lifting steps.
💻 H
字号:
/*
FILE : FACTOR.H

Functions to factor a polyphase matrix into lifting steps.

(C) C. Valens

Created     : 20/09/1999
Last update : 24/09/1999
*/

#ifndef __FACTOR_H__
#define __FACTOR_H__


#include "zpoly.h"
#include "polyphas.h"


#define PRIMAL  0
#define PRIMAL1 1
#define PRIMAL2 2
#define DUAL    3
#define DUAL1   4
#define DUAL2   5


/*
 * This is an element of a combined tree/list to hold a lifted matrix, ie.
 * a matrix AND a lifting step.
 */
typedef struct __factor_list {
  polyphase_matrix P;
  polyphase_matrix F;
  struct __factor_list *prev;
  struct __factor_list *next;
  struct __factor_list *lift;
  int tag;
} factor_list;


/*
 * Holds the number of factorizations found.
 */
extern int factorizations;

/*
 * Create a factor list.
 */
factor_list *factor_list_create(void);

/*
 * Destroy a factor list.
 */
void factor_list_destroy(factor_list *fl);

/*
 * Create a copy of a factor list.
 */
factor_list *factor_list_copy(factor_list *fl);

/*
 * Extracts lifting steps.
 * If type==PRIMAL the factoring is started by trying to extract a primal 
 * lifting step. If type==DUAL the factoring is started by trying to 
 * extract a dual lifting step.
 */
factor_list *factor_extract_lifting_steps(factor_list *fl,int type);

/*
 * Collects the lifting steps found into a double linked list.
 */
factor_list *factor_collect(factor_list *fl);

/*
 * Write a factor list to the output stream.
 */
void factor_list_write(factor_list *fl);

/*
 * Write a factor tree to the output stream.
 */
void factor_list_write_tree(factor_list *fl);

/*
 * Takes a (wavelet) filter pair as input and returns a list of all
 * possible factorizations in lifting steps.
 */
factor_list *factor_this_baby_now(zpoly_pair filters);


/*
 * Dumps all lifting steps to the output stream.
 */
void gimme_my_lifting_steps(factor_list *fl);


#endif /* __FACTOR_H__ */

⌨️ 快捷键说明

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