Working interpolator.
This commit is contained in:
parent
9ef8cd4b45
commit
7e87ccb2a1
2 changed files with 5 additions and 3 deletions
2
csdr.c
2
csdr.c
|
@ -860,7 +860,7 @@ int main(int argc, char *argv[])
|
||||||
sscanf(argv[2],"%d",&factor);
|
sscanf(argv[2],"%d",&factor);
|
||||||
assert(factor >= 1);
|
assert(factor >= 1);
|
||||||
|
|
||||||
float transition_bw = 0.05;
|
float transition_bw = 0.01;
|
||||||
if(argc>=4) sscanf(argv[3],"%g",&transition_bw);
|
if(argc>=4) sscanf(argv[3],"%g",&transition_bw);
|
||||||
assert(transition_bw >= 0 && transition_bw < 1.);
|
assert(transition_bw >= 0 && transition_bw < 1.);
|
||||||
|
|
||||||
|
|
|
@ -394,8 +394,10 @@ int fir_interpolate_cc(complexf *input, complexf *output, int input_size, int in
|
||||||
{
|
{
|
||||||
float acci=0;
|
float acci=0;
|
||||||
float accq=0;
|
float accq=0;
|
||||||
for(int ti=ip, si=0; ti<taps_length; ti+=interpolation, si++) acci += (iof(input,i+si)) * taps[ti]; //@fir_interpolate_cc: i loop
|
//int tistart = (interpolation-ip)%interpolation;
|
||||||
for(int ti=ip, si=0; ti<taps_length; ti+=interpolation, si++) accq += (qof(input,i+si)) * taps[ti]; //@fir_interpolate_cc: q loop
|
int tistart = (interpolation-ip); //why does this work? why don't we need the % part?
|
||||||
|
for(int ti=tistart, si=0; ti<taps_length; ti+=interpolation, si++) acci += (iof(input,i+si)) * taps[ti]; //@fir_interpolate_cc: i loop
|
||||||
|
for(int ti=tistart, si=0; ti<taps_length; ti+=interpolation, si++) accq += (qof(input,i+si)) * taps[ti]; //@fir_interpolate_cc: q loop
|
||||||
iof(output,oi)=acci;
|
iof(output,oi)=acci;
|
||||||
qof(output,oi)=accq;
|
qof(output,oi)=accq;
|
||||||
oi++;
|
oi++;
|
||||||
|
|
Loading…
Reference in a new issue