Test ``qplot`` Directive with ``liquid-dsp`` ============================================ Here is an example showing integration with ``liquid-dsp``: .. qplot:: series :kwargs: { "format":{ "xlabel" : "Time [samples]", "xrange" : [0, 120], "yrange" : [-1.5, 1.5], "legend" : ["input","filtered"] }, "plots": [ {"ylabel":"Real", "series": [["x-real",{"color":"#aaa"}],["y-real",{"color":"#004080"}]]}, {"ylabel":"Imag", "series": [["x-imag",{"color":"#aaa"}],["y-imag",{"color":"#004080"}]]} ]} :width: 65% #include #include #include #include #include "liquid.h" int main() { firfilt_crcf q = firfilt_crcf_create_kaiser(11, 0.1f, 40.0f, 0.0f); firfilt_crcf_set_scale(q,0.22f); printf(" x-real x-imag y-real y-imag\n"); unsigned int i; for (i=0; i<120; i++) { float complex x = 1.0f*cexpf(_Complex_I*2*M_PI*0.057f*i) + 0.5f*cexpf(_Complex_I*2*M_PI*0.392f*i); if (i==0) x *= 0.5f; else if (i<60) x *= 1.0f; else if (i==60) x *= 0.5f; else if (i>60) x *= 0.0f; float complex y; firfilt_crcf_execute_one(q, i < 80 ? x : 0, &y); printf("%12.8f %12.8f %12.8f %12.8f\n", crealf(x), cimagf(x), crealf(y), cimagf(y)); } firfilt_crcf_destroy(q); return 0; }