ǰλãҳ > 数字信号处理算法的定点化及其C语言仿真 - 百度文库
else
a<<=-n;
һƺintıʾΧ[-32768,32767]һlong 32000<<1ȷӦ6400032767λ int´ long a;
a=(long)32000<<1; a64000 ע佫Ľ long a;
a=32000<<1; a-1536 3.2.2 Ӽ
ӼתΪӼҪһDZ뱣֤С λҪͬͬӼǰȽСĵΪ֤㾫 һǽQֵСQʽΪһQֵһǶ긡N LSλﵽһͬNLSֵӡDSPоƬһ ӼۼΪ32λCԳУӼĽܳint ʾΧעҪ˫longͱʾ
1 x+yֵzxyzDZӦQʽֱΪQmQnQkQm z=(long)x<<(n-m) z+=y; zΪ32λQʽΪQn 2 x+yֵzxyzǶ긡ӦNLSֱֵNLSxNLSyNL SzNLSx>NLSy 㷨£ int x,NLSx,y,NLSy,z,NLSz; long temp; temp=x>>(NLSx-NLSy); temp+=y; xyͬtempҪ17bitô1λָ 16bitٸzNLSzNLSy-1֮xyŲͬtempľֵС 16384Ҫ½йһֱֵڻ16384NLSzΪNLSy λĴ 3.2.3 ˷ 16λ32λҪ˫long͵ij ˷ 1 xyֵzxyzDZxyӦQʽֱΪQmQn㷨£ int x,y; long z; .. z=(long)x*y; ˻zΪ˫Q(m+n)ʽעҪȽxǿתΪlongͣ õȻһint͵ij˻ΪĽ ӡ 2 int x; long z; x=32000; z=x*2; z64000ǵ-1536 £Ҫ˻zһ16λڴ浥ԪУ罫ûһ QkʽĵȱresultУȽ˫ȳ˻16+k-(m+n)λȻ 룬˫ȵĸλִ 16bitͱСǿ˫λֵMS BǷΪ1Ϊ1λֽλ1£ int x,y,result; long z; . z=(long)x*y; ˷ z=z<<16+k-(m+n); 16+k-(m+n)λ result=(z+0x8000)>>16; λִ浽result 3.2.4 [4] DSPоƬ㡣һDSPûרŵijӲ· һϵеλɳ㣬ķѺָܶڡˣڶDSP㷨Ӧ ܶʱó˷棬Գĵ DSPͨһγɣÿDSP̶Ӧָи ̣зԼ16λ16λ32λ16λ ̡Cп\ûҪдһרŵij x/yֵzxQmʽyQnʽC£ int x,y,z; .. z=x/y; zQʽQ(m-n) 3.2.5һʸ ͨԶ긡ÿһα仯Ҫ½йһһΪʹβ ֵ1638432767֮䣬Ӷ֤ľȡеDSPṩһָ ڵָۼֵĹһCҪдһСγģ⣬ 㷨£ xQʽΪQnxΪlongͻint͡ҪxһתΪ긡 XNLSX #define MAX 32767 #define MIN 16384 int shift=0λ long temp ʱ . temp=x; if ( temp<0 ) temp=-temp; ȡֵ while ( temp>MAX ) { temp>>=1; һλ shift--; } while ( temp temp<<=1; һλ shift++; } if ( shift<=0 ) X=x>>-shift; else X=x< 긡β16bitȡǰѾᵽΪ˷ֹ 鷳ҲԽһЩȣԲ15bit14bitʾĶ긡 ĹһȻԲ㷨ֻMINMAXֵҪ䶯ٶMLSλ ȣMIN=2(MLS-2) MAX=2(MLS-1) -1 鸡ÿһα仯ͨҲҪ½йһʸꡣ£ 1 ҳβзķ 2 Ը÷һλshift 3 зͬλ 4 ԭNLSֵshiftõµNLSֵ 3.2.6 뱥ģʽ ԸDSPǶDSPһź 㷨㻯Ҫرעһ⡣ 16bitij˻32bitDSP㷨õľFIR˲Ҫõ˼ γ˼Ӻܳ32bitܱʾΧ ʹһܴһСĸ߽һСĸһܴ ʹdzˣжҲȡʵıʩбҪ һЧİ취DzñģʽҪʱٽֵ32bit ʾķΧ-231231-1-2147483648ٽ磬2147483647ٽ硣һ DSPԹڱģʽ£СɵIJӰ졣Cģⱥģ ʽҪ鷳һЩ x*y<<2ֵz Int x,y; long z; Float temp; temp=1.0*x*y*4; 1.0Ϊ˽˻ǿתΪʽ 2λ൱ڳ4 if ( temp> 2147483647) z=2147483647 else if ( temp<-2147483648 ) z=-2147483648; else z=(long)x*y; floatȸΪֵıʾСIBM PCϣCе ʵֵΧԼΪ10-381038 4. ܽ ʵʿл۵ľ飬ĽCʵDSP㷨 һЩ̣ṩ˽źŴ㷨㻯˼ͷ ο 1 ΰ. DSPоƬԭ뿪Ӧãڶ棩ӹҵ磬2000. 9 2 ̷ǿ. Cơ廪ѧ磬1991. 7 3 Texas Instruments: TMS320C54x Optimizing C compiler user's guide 4 Texas Instruments: TMS320C54x DSP Reference Set Volume 4: Applications Gui de 飺 ܺ ϾʵѧԺͨŹϵ99˶ʿоҪоΪϢB-ISDN ʱࣺ210003 tel: 025-3474989,138-51991569 e_mail: zhou_haijun@etang.com ϾʵѧԺͨŹϵ99˶ʿо Ӣı⣺ Using C language to implement fix-point digital signal processing algori thms Ѻ
92ƪĵ