// // firpfbch_crcf_synthesis_example.c // // Example of the synthesis channelizer filterbank. The input signal is // comprised of several signals spanning different frequency bands. The // channelizer downconverts each to baseband (maximally decimated), and // the resulting spectrum of each is plotted. // #include #include #include #include "liquid.h" #define OUTPUT_FILENAME "firpfbch_crcf_synthesis_example.m" int main() { // options unsigned int num_channels = 16; // number of channels unsigned int m = 5; // filter delay float As = 60; // stop-band attenuation unsigned int num_frames = 25; // number of frames // unsigned int i; unsigned int k; // derived values unsigned int num_samples = num_frames * num_channels; // data arrays float complex x[num_channels][num_frames]; // channelized input float complex y[num_samples]; // time-domain output [size: num_samples x 1] // create narrow-band pulse unsigned int pulse_len = 17; // pulse length [samples] float bw = 0.30f; // pulse width (bandwidth) float pulse[pulse_len]; // buffer liquid_firdes_kaiser(pulse_len, bw, 50.0f, 0.0f, pulse); // generate input signal(s) int enabled[num_channels]; // signal enabled? for (i=0; i