From 8a55ffe87c2908475017f2c5e8fbbd5b2e4ae438 Mon Sep 17 00:00:00 2001 From: Giuseppe Callipo Date: Thu, 26 Apr 2018 13:29:53 +0200 Subject: [PATCH] Improved CW filters Some improvements to CW filters. --- pre-compiled/Release/RadioDSP_Fast.elf | Bin 231976 -> 231212 bytes pre-compiled/Release/RadioDSP_Fast.hex | 133 +++++----- pre-compiled/Release/RadioDSP_Fast.map | 262 +++++++++---------- src/RadioDSP_Fast/RadioDSP_Fast.depend | 26 +- src/RadioDSP_Fast/RadioDSP_Fast.elay | 18 +- src/RadioDSP_Fast/inc/filter_cmsis_cw_nar.h | 3 +- src/RadioDSP_Fast/src/filter_cmsis.c | 14 +- src/RadioDSP_Fast/src/filter_cmsis2.c | 14 +- src/RadioDSP_Fast/src/filter_cmsis_cw_nar.c | 131 +++++----- src/RadioDSP_Fast/src/filter_cmsis_cw_nar2.c | 14 +- src/RadioDSP_Fast/src/main.c | 7 +- 11 files changed, 300 insertions(+), 322 deletions(-) diff --git a/pre-compiled/Release/RadioDSP_Fast.elf b/pre-compiled/Release/RadioDSP_Fast.elf index cfc2ae05ec93d7e1fc31ab1c6b1fcaa326a53054..04542bf9623925b828e1bfc902dbae648d64bc87 100644 GIT binary patch delta 6398 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 delta 7508 zcmd5>3wTx4mEMoDlau7$3rTKn5(wnx9RiX-Bm_cumPdG#h~=3CB9A}_d4ZwDUX+5O zD4^JlmWp%$snbE}K(7!1X~lvABSjn?%O{x@g)+)uK|}=Xzs|Wgxj1yb`Q~f;O}=lP zz5cb<-fOMB_C9Cto1Z`B+PTrS-kXy5sANnqbuaTW$+B52>&Q4`b*Hm9JDtVM(;J4Q zWt_=kj7Ty1<79w8K@TtF=5jE353hN44PVJmYA5HpXo@*+=2W>AdF}Ba@@skWr&@v=V>cnWzQI+)tF-aWEhW6 zO}I<9ijZyzQoj|(yXK@L*fX4Y)9+$m6k?w)wJV(W=dHRVoIl7{_z#Ekvz(vPTO;^% ze$Ia@0-2^<5X^fK^eN~P=r-sw=ue=lplf<-6knJ4Z4>6;gIPyD_<}BR@P8V1^QO1b zJO7(6*P?AXPu!#6-mtj01G=B0{l$4^u)#Mm?sd?ee)>6iGC!lII=RM_f9~Xs@%*@+ zlfnPR=NO#UGWPd9T9zJJyMM-gQAJ;@++TFC`bN?9!gq_l8QP(UCroJh!_G4;$0I&$ zQ3dl_=AJpdZ~Dfm`%mt9vn6ZceXpOnvi$Xx2d}oYUKuuE=M(PY*LF=Q{z#23zLK(Y zz|$w*d)@QsGY1}@{Obdk2EKIQH=oM`m#baHD}K^a{F&>I)cT4^KngM-L+U^sX#g6C z2Bd+>0XZUvOE!fT-x+>C;?Fpcj*sGR!q65;0Y`tU@N7}p0PBg^;_ zb|y28{b*IOt{*Gn(vzX$JuWL|W<$z1PsJb(BaE3d5QLLYR1$k)(P)wCODD^G>YD(y z*Rs9{>kc0vQd?2mhp~?53HEsm`sj~{Eg-i)fhKwZjbOp|0b>>~X=1!D4Iwtv#Z=d} zfhI=|Jj`zofO(zVH%V-0a`IB~5W*_sy%>w7SZ<)Zdpno_jzljDN3ytb@|R5(N^ZhC z!t+Zg)iLFQBsKz%zU{{GZ&9qBMv;YV&0uCk7TAO`#&d3AY$Zq1yCZQgtcZ+#Mk1%- zLB`7lYlN}E-jBl5F5h}6sC;I)6&uS!r@uk@wowc@g_y38@{I*7M?hBj98$kL7UlaH zS@xnStGrA3EQL`JEMIzL z^HfM{^Ho#zjuEsrp9N)K6w}#cD9Uo>sL0BCaT$FLRO_TIMleD>yxp#UzUd#t_r zEKJ{G3lCuK6BOnQvQY8@rZFyL^Tp8SyQkgQv!9HU2124_UM8y71#Em-FUHI5-A9v< zU~Rr)d-o-T?moMCYh7){8`Q-vUSXhkw}Aip#q&+Wuzbu>%vVV9&H%O*kG}9$@w(yF zr6hg$@%B=ZzWz?U%IH1js-R&?tqDcnZ&%b(dk{-e216Pog$7v;5OJJ3`O+T- z-U%F8&3HEgQP$TlhwL2I7VAy}AB72X5?70XUE9ILW53cE(d0_W6*xj~ z{U9kj(hCTmBPbR1X7SN9E$?=;r^N>+SzYaw{$gOIpYqa54=+SVYr!)nheE`cLLhh3 z)5u6>tic$DXOpoN&n3n-46@WX4gUMaMp!R5>QWf{fiW3!pXvuWQ!8i`RRW1n>!6kD zmJcx+>UU5mwFb{H)d{BI>MZ1@nggQ5wG!Q;)OFZ6)KNU0YAP&U>LM&VsO7Nf zsA3_HR_E}HQF~w?tNt0hTMdFXPA!MMM~wp?uYLq=f=Ws8F_x$@Vbn=Eq3*0qD3a7j zNV=$t;JYdYd9qpx-m5NwPf;83OjU2=nWkbOPgj#*pP{aT&s4MV%uWKRkOvKn0|Yeno) z+4F&W^+T#NzzpxF$5n|OUaOm{M3>RiAn!?`okNGm(19Py-U9eEo9oYI_7F8S>`IQK3gT?ds_0}Qio$C?|Rvb0banB1?&49)^{&j{Nk9J zpcw02qthP{Bh(Jq?9huJ5Di_TFo_mTWVaBE!A`~6djKoydH?MP#88>_-|Gq*@Fc-wISseh21c=0##6gNz%@ z7bHmna~cebr5Oo3rVfI4Z=%sh?gOhN-M!rFDVR}{aXC_+0L(#VRE-bK(jk7$XXw!#(r7j1igHo}picI#fxjK6k{1TZxJYPdeWTwS6CF0cyaxODG^z|TeC3)zCO%&<% z&=;M^;q}n9i73MBp_7}N9#LL4nPIuJF^)&+74^cK{~lIw;yRp#`5^upyd)NZ{;eHX0<%uE zKJmGtt54?|{cgP&lJXB8%Eyz2o-&=WBVgtSQa}%u)y=-VmNkfKH{DYM8x&u3+Pq;- zeX>Eg`^1AcGK^K|A<~$+i_Qm`hQxe`G{X#BW^HJ)2;&Xdg%#_>M$vir21Lf6gk=ScL>rDd@PM{lOQ?Z;|O*efU16_mo?%=cu;R^6e-zHV66mFni5E< zIV7cqoIn5F_2|=AWKpq%kV&! zHl$1YLD;Ec8YtVK%13bP1l&jP<_^qsB`|X&g6GY64MZY$Ux6U@NywreL)^Ttpt1af z#}Y2I@P=aGuc%)AgvO{J0o(IYWa)1awx(-iuH*6sL1!adsYi$j5Xwd0y$zyDG;H{#1(AjgTPKhfY1r`CM1n}ehHp+n(M;n9SV{OHQvb&j zqQC!p4~kAvKAhF=Wzy9@swk=?R$!0B0Ga`qfUg(lC9xbIX?F@MiOt2EKQ6=`2A%*^ zC9#7N2jFcQ->x5&C}5G$KB6s1?8(Tq)+Jr~@zr9WzWlJ*_Wvf5?ej1TG$|po5EGn* z*x)R<+q0w`gOk!W3&Cl@tlCM_v;;;BOp9KzT8yIH|85@r@R%~Nyen>}=^)8AG;JZK z8;G+>)btL@iJ{-4Bzvf73s#TyM?HIjIGagLz_@Nph;g0X^rk2*p9^&j$nrr?4E2}xK3XqAJ?G139@_;!*RKU4{9PomYf*6x!&P}dWJy=AJhbl>$Zd#*ZDJ! zh?EqOR-#9JA~N~&dhsVBON5Qrn*c?_MEwS}?oxf>6HzO2tMrufqCn&=)a%cSu42tX z{pxw>C)Mc>2#W^)_4DFTn&_S3-xnq4aALepc|T7)%XnIsw51}F;p?FU{o*9gGu|u1 zzs@CVxd8J`2f5J*e+Q=k!EWgKXqlitijpt-OXK8c+&ihVd?G&cJZyB>xCIqsCiIZa zqh&*rTsUQnbWM@V{8jOCM@Ij-HH&98vFh47{3dKYN96Zr4Raco)HJcihN>BJt81F( zG*nbAYOHSTS;b~GEUK7W-B2+%zqcM#EX%`i*G5_c!Wqf0}GfYGfY6yNp_uaddac{~gMGqCwbt9ddR)0;6*=3_di&XeEA!ScO%(uaQvO`Z?k8UK>` zaxte$RLgg$E(;(%uHRcACkXs^EOVjkDVX%%zfgAN0zX|Zt&!tXXf7~wEE*+vDS|PY ziy+>uaOu<^*T_NmFImPS%m462@+`mR&!~lCs`g^IysYEuWU|12)C%h4t`wTC;1D%9 z*wXX|@iO4sTGeC4T-AN*tr diff --git a/pre-compiled/Release/RadioDSP_Fast.hex b/pre-compiled/Release/RadioDSP_Fast.hex index 8bb315b..fdacdf0 100644 --- a/pre-compiled/Release/RadioDSP_Fast.hex +++ b/pre-compiled/Release/RadioDSP_Fast.hex @@ -15,10 +15,10 @@ :1000D000DF0D0008E10D0008E30D0008E50D000844 :1000E000E70D0008E90D0008EB0D000810B5054C00 :1000F000237833B9044B13B10448AFF300800123D4 -:10010000237010BD7C00002000000000D0270008F4 +:10010000237010BD7C00002000000000A82700081C :10011000084B10B51BB108490848AFF300800848E8 :10012000036803B910BD074B002BFBD0BDE810409E -:10013000184700BF0000000080000020D027000802 +:10013000184700BF0000000080000020A82700082A :100140007C00002000000000154B002B08BF134B63 :100150009D46A3F5803A00218B460F461348144A6A :10016000121A02F027FA0F4B002B00D098470E4BC3 @@ -26,7 +26,7 @@ :10018000002802D00C48AFF3008002F0EDF9200007 :10019000290000F007FD02F0D3F900BF00000800BD :1001A0000050002000000000000000007C00002043 -:1001B000300300200000000000000000C3785BB99D +:1001B000080300200000000000000000C3785BB9C5 :1001C000037801215A09164803F01F03203201FA6F :1001D00003F340F82230704730B4124B8278D9686C :1001E0004478C9430F23C1F30221C1F10405CB4078 @@ -96,26 +96,26 @@ :1005E00001200020704700BFC94389B201827047D3 :1005F00000B5012383B00093044A054B0B21054845 :1006000000F0A8FC03B05DF804FB00BFE025000883 -:10061000980000200003002000B583B00190012362 -:100620006A4601A9034800F0A7FC009803B05DF8F2 -:1006300004FB00BF0003002000B5012383B000933A +:1006100098000020D802002000B583B0009001238C +:1006200001AA6946034800F0A7FC019803B05DF8F1 +:1006300004FB00BFD802002000B5012383B0009363 :10064000044A054B0921054800F084FC03B05DF81D -:1006500004FB00BF0C260008C40000200C0300208F -:1006600000B583B0019001236A4601A9034800F058 -:1006700083FC009803B05DF804FB00BF0C0300206E -:1006800000B5012383B00093044A054B3D21054882 +:1006500004FB00BF0C260008C4000020E4020020B8 +:1006600000B583B00090012301AA6946034800F059 +:1006700083FC019803B05DF804FB00BFE402002096 +:1006800000B5012383B00093044A054B332105488C :1006900000F060FC03B05DF804FB00BF30260008EA -:1006A000E80000201803002000B583B0019001236A -:1006B0006A4601A9034800F05FFC009803B05DF8AA -:1006C00004FB00BF1803002000B5012383B0009392 +:1006A000E8000020F002002000B583B00090012394 +:1006B00001AA6946034800F05FFC019803B05DF8A9 +:1006C00004FB00BFF002002000B5012383B00093BB :1006D000044A054B2921054800F03CFC03B05DF8B5 -:1006E00004FB00BF24270008DC01002024030020B5 -:1006F00000B583B0019001236A4601A9034800F0C8 -:100700003BFC009803B05DF804FB00BF240300200D +:1006E00004FB00BFFC260008B4010020FC0200202F +:1006F00000B583B00090012301AA6946034800F0C9 +:100700003BFC019803B05DF804FB00BFFC02002035 :10071000022970B513D003290ED10A4E0A4C216864 :10072000256801F0B3FC314601F0BAFD294601F01D :10073000AFFC2060206870BD4FF07C56EEE7034EA2 -:10074000ECE700BFCDCCCC3DE00200209A99993E69 +:10074000ECE700BFCDCCCC3DB80200209A99993E91 :1007500005292DE9F041074629D0062923D04FF07D :1007600082480724164B1E461D4603EB840454F8AA :10077000043D10461946636001F08AFCA54202461A @@ -123,7 +123,7 @@ :1007900001F0A2F908A3D3E9002301F0F1F901F077 :1007A00021FCBDE8F081DFF81C801724DAE74FF068 :1007B00083480F24D6E700BF9A9999999999E93F00 -:1007C000800200200000C041F0B540F2FF37012157 +:1007C000580200200000C041F0B540F2FF3701217F :1007D0008BB008460124FFF731FE002503A94FF036 :1007E0008040ADF81070ADF80C40ADF81250ADF887 :1007F0000E50FFF731FE21464FF08040FFF7C6FE56 @@ -153,12 +153,12 @@ :1009700006488DF80640ADF804208DF80730FFF7E3 :10098000DFFC02B010BD00BF00100140000C0140B0 :10099000034B1A6812B11A68013A1A60704700BF17 -:1009A000E402002038B500F0A7FA094B09491B689A +:1009A000BC02002038B500F0A7FA094B09491B68C2 :1009B000094AA1FB0313094C9B0C013BF0250020C5 :1009C0000721536084F823509060116038BD00BF48 :1009D0001000002083DE1B4310E000E000ED00E08B :1009E00010F1FF30054A4FF47A7106D31160136895 -:1009F000002BFCD110F1FF30F8D27047E402002048 +:1009F000002BFCD110F1FF30F8D27047BC02002070 :100A000008B501F0F5FB01F067F809A3D3E900236D :100A100001F0B6F800220A4B01F0B2F806A3D3E9C0 :100A2000002300F0F9FE01F0DDFA08BDAFF300800D @@ -183,9 +183,9 @@ :100B5000EBD0FFF79BFFABF80070AAF80060A9F894 :100B60000050A8F80040BDE8F88F0135ADB2022D65 :100B700094BF2A4615460121CAE70021BBE700BF02 -:100B8000E8020020EA020020EC020020EE02002031 -:100B9000FE020020F0020020F2020020F4020020F9 -:100BA000F602002080B5FFF7FDFEDFF89C80FFF71E +:100B8000C0020020C2020020C4020020C6020020D1 +:100B9000D6020020C8020020CA020020CC02002099 +:100BA000CE02002080B5FFF7FDFEDFF89C80FFF746 :100BB0007BFE1F4FFFF708FE1E4EFFF7BDFE1E4DCA :100BC000FFF716FD1D4CFFF737FDFFF759FDFFF747 :100BD0007BFD04E0FFF720FC3220FFF701FF4FF41C @@ -194,8 +194,8 @@ :100C00003B80FFF703FC4FF4004183B20C48338074 :100C1000FFF7FCFB80B22880FFF74EFF23884FF4DC :100C200000519BB2012B0748D4D1FFF7F7FBD3E764 -:100C3000EA020020EC020020EE020020FE0200206A -:100C4000000C014000100140E802002070B50121B5 +:100C3000C2020020C4020020C6020020D60200200A +:100C4000000C014000100140C002002070B50121DD :100C50003348FFF7BDFC00B970BDFFF75BFE314DB7 :100C6000C0F38F00288028882F4C80B2FFF7C8FE81 :100C70002E4B20601B889BB2012B3AD02C4B1B883B @@ -206,13 +206,13 @@ :100CC000FFF7C2FE2880288880B2FFF7E9FDBDE863 :100CD000704001211248FFF787BC2068118889B253 :100CE000FFF736FD2060EAE72068FFF7B9FC2060D7 -:100CF000D2E72068FFF7FCFC20602068FFF78CFC3F +:100CF000D2E72068FFF7B4FC20602068FFF7F8FC1B :100D00002060BBE72068FFF787FC2060C0E7206811 -:100D1000FFF7CAFC20602068FFF7A2FC2060B2E762 -:100D200000040040FC020020F8020020F002002035 -:100D3000F2020020F4020020F60200200649074AD1 +:100D1000FFF7A6FC20602068FFF7C6FC2060B2E762 +:100D200000040040D4020020D0020020C8020020AD +:100D3000CA020020CC020020CE0200200649074A49 :100D4000074B9A42BEBF51F8040B42F8040BF8E778 -:100D50000448804704480047DC27000800000020C2 +:100D50000448804704480047B427000800000020EA :100D60007C000020F50D0008490100081F49204AB9 :100D7000002301E041F8043B9142FBD3FFF712FF4F :100D8000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE73B @@ -222,7 +222,7 @@ :100DC000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7FB :100DD000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7EB :100DE000FEE7FEE7FEE7FEE7FEE7FEE77C00002009 -:100DF0003003002030B43C4B3C49186882B040F0CE +:100DF0000803002030B43C4B3C49186882B040F0F6 :100E0000010018605D6800202940596019684FF49E :100E10001F0421F0847121F48031196019681A4689 :100E200021F480211960596821F4FE0159609C6009 @@ -597,7 +597,7 @@ :102530007FF45CAF31F000437FF43CAF5FE700BF56 :1025400008B5074B044613B10021AFF30080054BDB :102550001868836A03B19847204600F033F800BF3B -:1025600000000000CC2700080E4B70B51E460E4C34 +:1025600000000000A42700080E4B70B51E460E4C5C :102570000025E41AA410A54204D056F82530984747 :102580000135F8E700F020F8084B094C1E46E41A24 :10259000A4100025A54204D056F8253098470135EF @@ -610,41 +610,38 @@ :1026000082AA513D7044F73B6F1283BBD8EF09BCDF :1026100093A9023C43C7CE3DB537783EA774A03E90 :10262000B537783E43C7CE3D93A9023CD8EF09BCED -:102630000C4023BB4CE22CBB76C58CBA5C540B3BE4 -:10264000F583BA3BBE69FA3BF838D33BFF420F3BF8 -:1026500001184FBBE3A8DCBBCC09DABB053667BB6E -:1026600066DCD4B95B9459BAD0B4C4BB276B54BCF4 -:10267000DCF37CBC83BEF4BBE0F3433CA88B143D8D -:10268000B8AE583DDE054A3DF321A83C92CDD5BCFD -:10269000168793BD8A55C3BDEE3EA7BDC7F103BDE6 -:1026A000F0690E3D809DBB3DED0EE93D809DBB3D3B -:1026B000F0690E3DC7F103BDEE3EA7BD8A55C3BD0F -:1026C000168793BD92CDD5BCF321A83CDE054A3DCB -:1026D000B8AE583DA88B143DE0F3433C83BEF4BB39 -:1026E000DCF37CBC276B54BCD0B4C4BB5B9459BA3C -:1026F00066DCD4B9053667BBCC09DABBE3A8DCBB22 -:1027000001184FBBFF420F3BF838D33BBE69FA3B81 -:10271000F583BA3B5C540B3B76C58CBA4CE22CBBC0 -:102720000C4023BB80996FBA465B15BB2DCDADBA6B -:10273000BD37063B5A12A03B0A14313B438CD7BB32 -:10274000E0D99EBCF7E4E1BC5588C7BC67623ABCDF -:10275000696E05BAFD6CE4BB27DD16BD9E609FBDAA -:10276000CBD8D0BD4E64A6BD2063EEBB4E0CC93D98 -:10277000C495433EDC63693EC495433E4E0CC93D5F -:102780002063EEBB4E64A6BDCBD8D0BD9E609FBD7E -:1027900027DD16BDFD6CE4BB696E05BA67623ABC05 -:1027A0005588C7BCF7E4E1BCE0D99EBC438CD7BBDD -:1027B0000A14313B5A12A03BBD37063B2DCDADBAB2 -:1027C000465B15BB80996FBA4300000014000020DF -:0427D0000000000005 -:0827D40074D9FF7F0100000031 -:1027DC0000000000000000000102030406070809C5 -:1027EC0000A24A04000000000000000000000000ED -:1027FC0000000000000000000000000000000000CD -:10280C0000000000C82700080000000000000000C5 -:10281C0000000000000000000000000000000000AC -:10282C00000000000000000000000000000000009C -:10283C00000000000000000000000000000000008C -:0C284C000000000011010008ED00000871 +:10263000AB798EBAC573B6BAFBEA2ABABD3786B58E +:10264000426065BA0F9B48BB42437FBBB91C2FB9A0 +:102650006805063CFF05823C98A1713C87C3D239CE +:10266000B891B2BCBF9918BD3F02FFBCA30312BA18 +:10267000F437213DF6D37F3DBDA6473DE3C2013A85 +:10268000D00F63BD821EAABD7A517BBDA8AA50B9E6 +:10269000EDF1823D2272BA3DEDF1823DA8AA50B91A +:1026A0007A517BBD821EAABDD00F63BDE3C2013A41 +:1026B000BDA6473DF6D37F3DF437213DA30312BAB3 +:1026C0003F02FFBCBF9918BDB891B2BC87C3D239D5 +:1026D00098A1713CFF05823C6805063CB91C2FB9E6 +:1026E00042437FBB0F9B48BB426065BABD3786B58E +:1026F000FBEA2ABAC573B6BAAB798EBA80996FBABB +:10270000465B15BB2DCDADBABD37063B5A12A03B7B +:102710000A14313B438CD7BBE0D99EBCF7E4E1BC43 +:102720005588C7BC67623ABC696E05BAFD6CE4BBEC +:1027300027DD16BD9E609FBDCBD8D0BD4E64A6BD23 +:102740002063EEBB4E0CC93DC495433EDC63693E3D +:10275000C495433E4E0CC93D2063EEBB4E64A6BDFE +:10276000CBD8D0BD9E609FBD27DD16BDFD6CE4BB00 +:10277000696E05BA67623ABC5588C7BCF7E4E1BC2C +:10278000E0D99EBC438CD7BB0A14313B5A12A03B04 +:10279000BD37063B2DCDADBA465B15BB80996FBAF0 +:0C27A000430000001400002000000000B6 +:0827AC009CD9FF7F0100000031 +:1027B40000000000000000000102030406070809ED +:1027C40000A24A0400000000000000000000000015 +:1027D40000000000000000000000000000000000F5 +:1027E40000000000A0270008000000000000000016 +:1027F40000000000000000000000000000000000D5 +:1028040000000000000000000000000000000000C4 +:1028140000000000000000000000000000000000B4 +:0C2824000000000011010008ED00000899 :0400000508000000EF :00000001FF diff --git a/pre-compiled/Release/RadioDSP_Fast.map b/pre-compiled/Release/RadioDSP_Fast.map index 33423a8..b193c6d 100644 --- a/pre-compiled/Release/RadioDSP_Fast.map +++ b/pre-compiled/Release/RadioDSP_Fast.map @@ -1308,7 +1308,7 @@ LOAD c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none- 0x00000000 __HEAP_SIZE = 0x0 0x00000100 __STACK_SIZE = 0x100 -.text 0x08000000 0x27d4 +.text 0x08000000 0x27ac *(.isr_vector) .isr_vector 0x08000000 0xec obj\release\src\startup_stm32f10x_md.o 0x08000000 __isr_vector @@ -1597,50 +1597,50 @@ LOAD c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none- 0x0800260c 0x24 obj\release\src\filter_cmsis2.o 0x0800260c firCoeffs32_2 .rodata.firCoeffs32_cw_nar - 0x08002630 0xf4 obj\release\src\filter_cmsis_cw_nar.o + 0x08002630 0xcc obj\release\src\filter_cmsis_cw_nar.o 0x08002630 firCoeffs32_cw_nar .rodata.firCoeffs32_cw_nar2 - 0x08002724 0xa4 obj\release\src\filter_cmsis_cw_nar2.o - 0x08002724 firCoeffs32_cw_nar2 + 0x080026fc 0xa4 obj\release\src\filter_cmsis_cw_nar2.o + 0x080026fc firCoeffs32_cw_nar2 .rodata.str1.1 - 0x080027c8 0x2 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) - *fill* 0x080027ca 0x2 + 0x080027a0 0x2 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) + *fill* 0x080027a2 0x2 .rodata._global_impure_ptr - 0x080027cc 0x4 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) - 0x080027cc _global_impure_ptr + 0x080027a4 0x4 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) + 0x080027a4 _global_impure_ptr *(.eh_frame*) - .eh_frame 0x080027d0 0x0 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o - .eh_frame 0x080027d0 0x4 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtend.o + .eh_frame 0x080027a8 0x0 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o + .eh_frame 0x080027a8 0x4 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtend.o -.glue_7 0x080027d4 0x0 - .glue_7 0x080027d4 0x0 linker stubs +.glue_7 0x080027ac 0x0 + .glue_7 0x080027ac 0x0 linker stubs -.glue_7t 0x080027d4 0x0 - .glue_7t 0x080027d4 0x0 linker stubs +.glue_7t 0x080027ac 0x0 + .glue_7t 0x080027ac 0x0 linker stubs -.vfp11_veneer 0x080027d4 0x0 - .vfp11_veneer 0x080027d4 0x0 linker stubs +.vfp11_veneer 0x080027ac 0x0 + .vfp11_veneer 0x080027ac 0x0 linker stubs -.v4_bx 0x080027d4 0x0 - .v4_bx 0x080027d4 0x0 linker stubs +.v4_bx 0x080027ac 0x0 + .v4_bx 0x080027ac 0x0 linker stubs -.iplt 0x080027d4 0x0 - .iplt 0x080027d4 0x0 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o +.iplt 0x080027ac 0x0 + .iplt 0x080027ac 0x0 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x080027d4 __exidx_start = . + 0x080027ac __exidx_start = . -.ARM.exidx 0x080027d4 0x8 +.ARM.exidx 0x080027ac 0x8 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x080027d4 0x8 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7-m/crt0.o - 0x080027dc __exidx_end = . - 0x080027dc __etext = . + .ARM.exidx 0x080027ac 0x8 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7-m/crt0.o + 0x080027b4 __exidx_end = . + 0x080027b4 __etext = . -.rel.dyn 0x080027dc 0x0 - .rel.iplt 0x080027dc 0x0 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o +.rel.dyn 0x080027b4 0x0 + .rel.iplt 0x080027b4 0x0 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o -.data 0x20000000 0x7c load address 0x080027dc +.data 0x20000000 0x7c load address 0x080027b4 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -1671,13 +1671,13 @@ LOAD c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none- 0x2000007c . = ALIGN (0x4) 0x2000007c __data_end__ = . -.jcr 0x2000007c 0x0 load address 0x08002858 +.jcr 0x2000007c 0x0 load address 0x08002830 .jcr 0x2000007c 0x0 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o -.igot.plt 0x2000007c 0x0 load address 0x08002858 +.igot.plt 0x2000007c 0x0 load address 0x08002830 .igot.plt 0x2000007c 0x0 c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o -.bss 0x2000007c 0x2b4 load address 0x08002858 +.bss 0x2000007c 0x28c load address 0x08002830 0x2000007c __bss_start__ = . *(.bss*) .bss 0x2000007c 0x1c c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtbegin.o @@ -1686,66 +1686,66 @@ LOAD c:/program files (x86)/embitz/1.11/share/em_armgcc/bin/../lib/gcc/arm-none- .bss.firStateF32_2 0x200000c4 0x24 obj\release\src\filter_cmsis2.o .bss.firStateF32_cw_nar - 0x200000e8 0xf4 obj\release\src\filter_cmsis_cw_nar.o + 0x200000e8 0xcc obj\release\src\filter_cmsis_cw_nar.o .bss.firStateF32_cw_nar2 - 0x200001dc 0xa4 obj\release\src\filter_cmsis_cw_nar2.o - .bss.buffer 0x20000280 0x60 obj\release\src\filter_noise_reduction.o + 0x200001b4 0xa4 obj\release\src\filter_cmsis_cw_nar2.o + .bss.buffer 0x20000258 0x60 obj\release\src\filter_noise_reduction.o .bss.outwork_fn - 0x200002e0 0x4 obj\release\src\filter_noise_reduction.o - 0x200002e0 outwork_fn - .bss.usTicks 0x200002e4 0x4 obj\release\src\io_routines.o + 0x200002b8 0x4 obj\release\src\filter_noise_reduction.o + 0x200002b8 outwork_fn + .bss.usTicks 0x200002bc 0x4 obj\release\src\io_routines.o .bss.sel_filter_0 - 0x200002e8 0x2 obj\release\src\main.o - 0x200002e8 sel_filter_0 + 0x200002c0 0x2 obj\release\src\main.o + 0x200002c0 sel_filter_0 .bss.sel_filter_1 - 0x200002ea 0x2 obj\release\src\main.o - 0x200002ea sel_filter_1 + 0x200002c2 0x2 obj\release\src\main.o + 0x200002c2 sel_filter_1 .bss.sel_filter_2 - 0x200002ec 0x2 obj\release\src\main.o - 0x200002ec sel_filter_2 + 0x200002c4 0x2 obj\release\src\main.o + 0x200002c4 sel_filter_2 .bss.sel_filter_3 - 0x200002ee 0x2 obj\release\src\main.o - 0x200002ee sel_filter_3 + 0x200002c6 0x2 obj\release\src\main.o + 0x200002c6 sel_filter_3 .bss.FILTER0_STATUS - 0x200002f0 0x2 obj\release\src\main.o - 0x200002f0 FILTER0_STATUS + 0x200002c8 0x2 obj\release\src\main.o + 0x200002c8 FILTER0_STATUS .bss.FILTER1_STATUS - 0x200002f2 0x2 obj\release\src\main.o - 0x200002f2 FILTER1_STATUS + 0x200002ca 0x2 obj\release\src\main.o + 0x200002ca FILTER1_STATUS .bss.FILTER2_STATUS - 0x200002f4 0x2 obj\release\src\main.o - 0x200002f4 FILTER2_STATUS + 0x200002cc 0x2 obj\release\src\main.o + 0x200002cc FILTER2_STATUS .bss.FILTER3_STATUS - 0x200002f6 0x2 obj\release\src\main.o - 0x200002f6 FILTER3_STATUS + 0x200002ce 0x2 obj\release\src\main.o + 0x200002ce FILTER3_STATUS .bss.adcValueF - 0x200002f8 0x4 obj\release\src\main.o - 0x200002f8 adcValueF - .bss.adcValue 0x200002fc 0x2 obj\release\src\main.o - 0x200002fc adcValue - .bss.BYPASS 0x200002fe 0x2 obj\release\src\main.o - 0x200002fe BYPASS + 0x200002d0 0x4 obj\release\src\main.o + 0x200002d0 adcValueF + .bss.adcValue 0x200002d4 0x2 obj\release\src\main.o + 0x200002d4 adcValue + .bss.BYPASS 0x200002d6 0x2 obj\release\src\main.o + 0x200002d6 BYPASS *(COMMON) - COMMON 0x20000300 0xc obj\release\src\filter_cmsis.o - 0x20000300 S - COMMON 0x2000030c 0xc obj\release\src\filter_cmsis2.o - 0x2000030c S_2 - COMMON 0x20000318 0xc obj\release\src\filter_cmsis_cw_nar.o - 0x20000318 S1 - COMMON 0x20000324 0xc obj\release\src\filter_cmsis_cw_nar2.o - 0x20000324 S2 - 0x20000330 __bss_end__ = . + COMMON 0x200002d8 0xc obj\release\src\filter_cmsis.o + 0x200002d8 S + COMMON 0x200002e4 0xc obj\release\src\filter_cmsis2.o + 0x200002e4 S_2 + COMMON 0x200002f0 0xc obj\release\src\filter_cmsis_cw_nar.o + 0x200002f0 S1 + COMMON 0x200002fc 0xc obj\release\src\filter_cmsis_cw_nar2.o + 0x200002fc S2 + 0x20000308 __bss_end__ = . -.heap 0x20000330 0x0 - 0x20000330 __end__ = . - 0x20000330 end = __end__ +.heap 0x20000308 0x0 + 0x20000308 __end__ = . + 0x20000308 end = __end__ *(.heap*) - .heap 0x20000330 0x0 obj\release\src\startup_stm32f10x_md.o - 0x20000330 __HeapLimit = . + .heap 0x20000308 0x0 obj\release\src\startup_stm32f10x_md.o + 0x20000308 __HeapLimit = . -.stack_dummy 0x20000330 0x100 +.stack_dummy 0x20000308 0x100 *(.stack) - .stack 0x20000330 0x100 obj\release\src\startup_stm32f10x_md.o + .stack 0x20000308 0x100 obj\release\src\startup_stm32f10x_md.o 0x20005000 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) 0x20004f00 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) 0x20005000 PROVIDE (__stack, __StackTop) @@ -1883,58 +1883,58 @@ OUTPUT(bin\Release\RadioDSP_Fast.elf elf32-littlearm) 0x71 (size before relaxing) .comment 0x000000de 0x71 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) -.debug_info 0x00000000 0x7586 +.debug_info 0x00000000 0x74bc .debug_info 0x00000000 0x560 obj\release\spl\src\misc.o .debug_info 0x00000560 0xc2b obj\release\spl\src\stm32f10x_adc.o .debug_info 0x0000118b 0x891 obj\release\spl\src\stm32f10x_gpio.o .debug_info 0x00001a1c 0x946 obj\release\spl\src\stm32f10x_rcc.o .debug_info 0x00002362 0x234c obj\release\spl\src\stm32f10x_tim.o - .debug_info 0x000046ae 0x275 obj\release\src\filter_cmsis.o - .debug_info 0x00004923 0x277 obj\release\src\filter_cmsis2.o - .debug_info 0x00004b9a 0x26c obj\release\src\filter_cmsis_cw_nar.o - .debug_info 0x00004e06 0x26c obj\release\src\filter_cmsis_cw_nar2.o - .debug_info 0x00005072 0x1a2 obj\release\src\filter_noise_reduction.o - .debug_info 0x00005214 0x111b obj\release\src\io_routines.o - .debug_info 0x0000632f 0x801 obj\release\src\main.o - .debug_info 0x00006b30 0x59 obj\release\src\startup_stm32f10x_md.o - .debug_info 0x00006b89 0x4c8 obj\release\src\system_stm32f10x.o - .debug_info 0x00007051 0x1b1 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) - .debug_info 0x00007202 0x384 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) + .debug_info 0x000046ae 0x23d obj\release\src\filter_cmsis.o + .debug_info 0x000048eb 0x23f obj\release\src\filter_cmsis2.o + .debug_info 0x00004b2a 0x23f obj\release\src\filter_cmsis_cw_nar.o + .debug_info 0x00004d69 0x23f obj\release\src\filter_cmsis_cw_nar2.o + .debug_info 0x00004fa8 0x1a2 obj\release\src\filter_noise_reduction.o + .debug_info 0x0000514a 0x111b obj\release\src\io_routines.o + .debug_info 0x00006265 0x801 obj\release\src\main.o + .debug_info 0x00006a66 0x59 obj\release\src\startup_stm32f10x_md.o + .debug_info 0x00006abf 0x4c8 obj\release\src\system_stm32f10x.o + .debug_info 0x00006f87 0x1b1 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) + .debug_info 0x00007138 0x384 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) -.debug_abbrev 0x00000000 0x1853 +.debug_abbrev 0x00000000 0x17c1 .debug_abbrev 0x00000000 0x158 obj\release\spl\src\misc.o .debug_abbrev 0x00000158 0x1e8 obj\release\spl\src\stm32f10x_adc.o .debug_abbrev 0x00000340 0x202 obj\release\spl\src\stm32f10x_gpio.o .debug_abbrev 0x00000542 0x270 obj\release\spl\src\stm32f10x_rcc.o .debug_abbrev 0x000007b2 0x2c4 obj\release\spl\src\stm32f10x_tim.o - .debug_abbrev 0x00000a76 0x161 obj\release\src\filter_cmsis.o - .debug_abbrev 0x00000bd7 0x161 obj\release\src\filter_cmsis2.o - .debug_abbrev 0x00000d38 0x154 obj\release\src\filter_cmsis_cw_nar.o - .debug_abbrev 0x00000e8c 0x154 obj\release\src\filter_cmsis_cw_nar2.o - .debug_abbrev 0x00000fe0 0xf3 obj\release\src\filter_noise_reduction.o - .debug_abbrev 0x000010d3 0x2ff obj\release\src\io_routines.o - .debug_abbrev 0x000013d2 0x14d obj\release\src\main.o - .debug_abbrev 0x0000151f 0x14 obj\release\src\startup_stm32f10x_md.o - .debug_abbrev 0x00001533 0x170 obj\release\src\system_stm32f10x.o - .debug_abbrev 0x000016a3 0xe8 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) - .debug_abbrev 0x0000178b 0xc8 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) + .debug_abbrev 0x00000a76 0x136 obj\release\src\filter_cmsis.o + .debug_abbrev 0x00000bac 0x136 obj\release\src\filter_cmsis2.o + .debug_abbrev 0x00000ce2 0x136 obj\release\src\filter_cmsis_cw_nar.o + .debug_abbrev 0x00000e18 0x136 obj\release\src\filter_cmsis_cw_nar2.o + .debug_abbrev 0x00000f4e 0xf3 obj\release\src\filter_noise_reduction.o + .debug_abbrev 0x00001041 0x2ff obj\release\src\io_routines.o + .debug_abbrev 0x00001340 0x14d obj\release\src\main.o + .debug_abbrev 0x0000148d 0x14 obj\release\src\startup_stm32f10x_md.o + .debug_abbrev 0x000014a1 0x170 obj\release\src\system_stm32f10x.o + .debug_abbrev 0x00001611 0xe8 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) + .debug_abbrev 0x000016f9 0xc8 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) -.debug_loc 0x00000000 0x52a7 +.debug_loc 0x00000000 0x510b .debug_loc 0x00000000 0x193 obj\release\spl\src\misc.o .debug_loc 0x00000193 0x9cd obj\release\spl\src\stm32f10x_adc.o .debug_loc 0x00000b60 0x569 obj\release\spl\src\stm32f10x_gpio.o .debug_loc 0x000010c9 0x726 obj\release\spl\src\stm32f10x_rcc.o .debug_loc 0x000017ef 0x1d7f obj\release\spl\src\stm32f10x_tim.o - .debug_loc 0x0000356e 0x96 obj\release\src\filter_cmsis.o - .debug_loc 0x00003604 0x96 obj\release\src\filter_cmsis2.o - .debug_loc 0x0000369a 0x96 obj\release\src\filter_cmsis_cw_nar.o - .debug_loc 0x00003730 0x96 obj\release\src\filter_cmsis_cw_nar2.o - .debug_loc 0x000037c6 0x130 obj\release\src\filter_noise_reduction.o - .debug_loc 0x000038f6 0xf6 obj\release\src\io_routines.o - .debug_loc 0x000039ec 0xe9 obj\release\src\main.o - .debug_loc 0x00003ad5 0xbc obj\release\src\system_stm32f10x.o - .debug_loc 0x00003b91 0xb6 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) - .debug_loc 0x00003c47 0x1660 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) + .debug_loc 0x0000356e 0x2f obj\release\src\filter_cmsis.o + .debug_loc 0x0000359d 0x2f obj\release\src\filter_cmsis2.o + .debug_loc 0x000035cc 0x2f obj\release\src\filter_cmsis_cw_nar.o + .debug_loc 0x000035fb 0x2f obj\release\src\filter_cmsis_cw_nar2.o + .debug_loc 0x0000362a 0x130 obj\release\src\filter_noise_reduction.o + .debug_loc 0x0000375a 0xf6 obj\release\src\io_routines.o + .debug_loc 0x00003850 0xe9 obj\release\src\main.o + .debug_loc 0x00003939 0xbc obj\release\src\system_stm32f10x.o + .debug_loc 0x000039f5 0xb6 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) + .debug_loc 0x00003aab 0x1660 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) .debug_aranges 0x00000000 0x800 .debug_aranges @@ -1987,7 +1987,7 @@ OUTPUT(bin\Release\RadioDSP_Fast.elf elf32-littlearm) .debug_ranges 0x00000868 0x10 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) .debug_ranges 0x00000878 0x10 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) -.debug_line 0x00000000 0x309b +.debug_line 0x00000000 0x309f .debug_line 0x00000000 0x1ae obj\release\spl\src\misc.o .debug_line 0x000001ae 0x4ac obj\release\spl\src\stm32f10x_adc.o .debug_line 0x0000065a 0x357 obj\release\spl\src\stm32f10x_gpio.o @@ -1999,13 +1999,13 @@ OUTPUT(bin\Release\RadioDSP_Fast.elf elf32-littlearm) .debug_line 0x00001dfd 0x170 obj\release\src\filter_cmsis_cw_nar2.o .debug_line 0x00001f6d 0x165 obj\release\src\filter_noise_reduction.o .debug_line 0x000020d2 0x329 obj\release\src\io_routines.o - .debug_line 0x000023fb 0x2d3 obj\release\src\main.o - .debug_line 0x000026ce 0xa8 obj\release\src\startup_stm32f10x_md.o - .debug_line 0x00002776 0x1b1 obj\release\src\system_stm32f10x.o - .debug_line 0x00002927 0x14b ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) - .debug_line 0x00002a72 0x629 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) + .debug_line 0x000023fb 0x2d7 obj\release\src\main.o + .debug_line 0x000026d2 0xa8 obj\release\src\startup_stm32f10x_md.o + .debug_line 0x0000277a 0x1b1 obj\release\src\system_stm32f10x.o + .debug_line 0x0000292b 0x14b ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) + .debug_line 0x00002a76 0x629 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) -.debug_str 0x00000000 0x249c +.debug_str 0x00000000 0x2495 .debug_str 0x00000000 0x396 obj\release\spl\src\misc.o 0x3ea (size before relaxing) .debug_str 0x00000396 0x54a obj\release\spl\src\stm32f10x_adc.o @@ -2016,25 +2016,25 @@ OUTPUT(bin\Release\RadioDSP_Fast.elf elf32-littlearm) 0x646 (size before relaxing) .debug_str 0x00001045 0xb69 obj\release\spl\src\stm32f10x_tim.o 0xe1c (size before relaxing) - .debug_str 0x00001bae 0xc6 obj\release\src\filter_cmsis.o - 0x26c (size before relaxing) - .debug_str 0x00001c74 0x46 obj\release\src\filter_cmsis2.o - 0x271 (size before relaxing) - .debug_str 0x00001cba 0x5d obj\release\src\filter_cmsis_cw_nar.o - 0x288 (size before relaxing) - .debug_str 0x00001d17 0x60 obj\release\src\filter_cmsis_cw_nar2.o - 0x28b (size before relaxing) - .debug_str 0x00001d77 0x68 obj\release\src\filter_noise_reduction.o + .debug_str 0x00001bae 0xb8 obj\release\src\filter_cmsis.o + 0x25e (size before relaxing) + .debug_str 0x00001c66 0x46 obj\release\src\filter_cmsis2.o + 0x263 (size before relaxing) + .debug_str 0x00001cac 0x5d obj\release\src\filter_cmsis_cw_nar.o + 0x281 (size before relaxing) + .debug_str 0x00001d09 0x60 obj\release\src\filter_cmsis_cw_nar2.o + 0x284 (size before relaxing) + .debug_str 0x00001d69 0x6f obj\release\src\filter_noise_reduction.o 0x205 (size before relaxing) - .debug_str 0x00001ddf 0x3b9 obj\release\src\io_routines.o + .debug_str 0x00001dd8 0x3b9 obj\release\src\io_routines.o 0xc07 (size before relaxing) - .debug_str 0x00002198 0x11c obj\release\src\main.o + .debug_str 0x00002191 0x11c obj\release\src\main.o 0x59e (size before relaxing) - .debug_str 0x000022b4 0x62 obj\release\src\system_stm32f10x.o + .debug_str 0x000022ad 0x62 obj\release\src\system_stm32f10x.o 0x318 (size before relaxing) - .debug_str 0x00002316 0x116 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) + .debug_str 0x0000230f 0x116 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_init_f32.o) 0x230 (size before relaxing) - .debug_str 0x0000242c 0x70 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) + .debug_str 0x00002425 0x70 ..\CMSIS-4.5.0\CMSIS-4.5.0\CMSIS\Lib\GCC\libarm_cortexM3l_math.a(arm_fir_f32.o) 0x26b (size before relaxing) .debug_frame 0x00000000 0x12c4 diff --git a/src/RadioDSP_Fast/RadioDSP_Fast.depend b/src/RadioDSP_Fast/RadioDSP_Fast.depend index 15e5443..b1b2a5c 100644 --- a/src/RadioDSP_Fast/RadioDSP_Fast.depend +++ b/src/RadioDSP_Fast/RadioDSP_Fast.depend @@ -198,11 +198,11 @@ "stm32f10x_wwdg.h" "stm32f10x_rcc.h" -1524259477 source:c:\work\radiodsp_fast\src\filter_cmsis.c +1524739660 source:c:\work\radiodsp_fast\src\filter_cmsis.c "filter_cmsis.h" "arm_math.h" -1524261804 c:\work\radiodsp_fast\inc\filter_cmsis.h +1524408623 c:\work\radiodsp_fast\inc\filter_cmsis.h "arm_math.h" "stm32f10x.h" @@ -272,24 +272,24 @@ "core_cmInstr.h" "core_cmFunc.h" -1524265848 source:c:\work\radiodsp_fast\src\filter_cmsis_cw_nar.c +1524743127 source:c:\work\radiodsp_fast\src\filter_cmsis_cw_nar.c "filter_cmsis_cw_nar.h" "arm_math.h" -1524266000 c:\work\radiodsp_fast\inc\filter_cmsis_cw_nar.h +1524743148 c:\work\radiodsp_fast\inc\filter_cmsis_cw_nar.h "arm_math.h" "stm32f10x.h" -1524263503 source:c:\work\radiodsp_fast\src\filter_noise_reduction.c +1524405253 source:c:\work\radiodsp_fast\src\filter_noise_reduction.c "filter_noise_reduction.h" -1524263256 c:\work\radiodsp_fast\inc\filter_noise_reduction.h +1524408737 c:\work\radiodsp_fast\inc\filter_noise_reduction.h "stm32f10x.h" -1524259449 source:c:\work\radiodsp_fast\src\io_routines.c +1524742048 source:c:\work\radiodsp_fast\src\io_routines.c "io_routines.h" -1524261230 c:\work\radiodsp_fast\inc\io_routines.h +1524408764 c:\work\radiodsp_fast\inc\io_routines.h "stm32f10x.h" "arm_math.h" @@ -298,7 +298,7 @@ 1520550302 source:c:\work\radiodsp_fast\src\system_stm32f10x.c "stm32f10x.h" -1524263417 source:c:\work\radiodsp_fast\src\main.c +1524743935 source:c:\work\radiodsp_fast\src\main.c "stm32f10x.h" "stm32f10x_rcc.h" "stm32f10x_gpio.h" @@ -312,19 +312,19 @@ "filter_cmsis_cw_nar2.h" "filter_noise_reduction.h" -1524265485 source:c:\work\radiodsp_fast\src\filter_cmsis_cw_nar2.c +1524742852 source:c:\work\radiodsp_fast\src\filter_cmsis_cw_nar2.c "filter_cmsis_cw_nar2.h" "arm_math.h" -1524261756 c:\work\radiodsp_fast\inc\filter_cmsis_cw_nar2.h +1524408623 c:\work\radiodsp_fast\inc\filter_cmsis_cw_nar2.h "arm_math.h" "stm32f10x.h" -1524265797 c:\work\radiodsp_fast\inc\filter_cmsis2.h +1524408433 c:\work\radiodsp_fast\inc\filter_cmsis2.h "arm_math.h" "stm32f10x.h" -1524265797 source:c:\work\radiodsp_fast\src\filter_cmsis2.c +1524739652 source:c:\work\radiodsp_fast\src\filter_cmsis2.c "filter_cmsis2.h" "arm_math.h" diff --git a/src/RadioDSP_Fast/RadioDSP_Fast.elay b/src/RadioDSP_Fast/RadioDSP_Fast.elay index 84530dd..c5d12ab 100644 --- a/src/RadioDSP_Fast/RadioDSP_Fast.elay +++ b/src/RadioDSP_Fast/RadioDSP_Fast.elay @@ -53,37 +53,37 @@ - + - + - + - + - + - + - + - + - + diff --git a/src/RadioDSP_Fast/inc/filter_cmsis_cw_nar.h b/src/RadioDSP_Fast/inc/filter_cmsis_cw_nar.h index 91e50d4..bc9a314 100644 --- a/src/RadioDSP_Fast/inc/filter_cmsis_cw_nar.h +++ b/src/RadioDSP_Fast/inc/filter_cmsis_cw_nar.h @@ -24,7 +24,8 @@ /** Define the tap number of fr filter */ #define BLOCK_SIZE 1 -#define NUM_TAPS_1 61 +#define NUM_TAPS_1 51 + /** Hold the coefficents calculated */ extern const float32_t firCoeffs32_cw_nar[NUM_TAPS_1]; diff --git a/src/RadioDSP_Fast/src/filter_cmsis.c b/src/RadioDSP_Fast/src/filter_cmsis.c index e636068..bff07e1 100644 --- a/src/RadioDSP_Fast/src/filter_cmsis.c +++ b/src/RadioDSP_Fast/src/filter_cmsis.c @@ -16,7 +16,7 @@ /************************************************************ /* Calculator used: https://www.arc.id.au/FilterDesign.html -/* Design parameters: (Low Pass end 4000 - 11 Taps - 40 db) +/* Design parameters: (Low Pass end 4000 - 11 Taps - 40 db - fs 35150 Hz) /* /* Real Measured bandwidth: 0 - <2400 Hz /* NOTE the real measured features are more stringent than calculated @@ -50,15 +50,11 @@ void init_firFilter1_cmsis(){ float32_t firFilter1_cmsis(float32_t input) { - uint16_t result; - float32_t *inputF32, *outputF32; - float32_t out[1], in[1]; - in[0] = input; - inputF32 = &in[0]; - outputF32 = &out[0]; + float32_t inputF = input; + float32_t outF; - arm_fir_f32(&S, inputF32, outputF32, BLOCK_SIZE); + arm_fir_f32(&S, &inputF, &outF, BLOCK_SIZE); - return out[0]; + return outF; } diff --git a/src/RadioDSP_Fast/src/filter_cmsis2.c b/src/RadioDSP_Fast/src/filter_cmsis2.c index 63580c5..65a4069 100644 --- a/src/RadioDSP_Fast/src/filter_cmsis2.c +++ b/src/RadioDSP_Fast/src/filter_cmsis2.c @@ -16,7 +16,7 @@ /************************************************************ /* Calculator used: https://www.arc.id.au/FilterDesign.html -/* Design parameters: (Low Pass end 5500 - 9 Taps - 40 db) +/* Design parameters: (Low Pass end 5500 - 9 Taps - 40 db - fs 35150 Hz) /* /* Real Measured bandwidth: 0 - <3500 Hz /* NOTE the real measured features are more stringent than calculated @@ -48,15 +48,11 @@ void init_firFilter2_cmsis(){ float32_t firFilter2_cmsis(float32_t input) { - uint16_t result; - float32_t *inputF32, *outputF32; - float32_t out[1], in[1]; - in[0] = input; - inputF32 = &in[0]; - outputF32 = &out[0]; + float32_t inputF = input; + float32_t outF; - arm_fir_f32(&S_2, inputF32, outputF32, BLOCK_SIZE_F2); + arm_fir_f32(&S_2, &inputF, &outF, BLOCK_SIZE_F2); - return out[0]; + return outF; } diff --git a/src/RadioDSP_Fast/src/filter_cmsis_cw_nar.c b/src/RadioDSP_Fast/src/filter_cmsis_cw_nar.c index b55d882..22214b2 100644 --- a/src/RadioDSP_Fast/src/filter_cmsis_cw_nar.c +++ b/src/RadioDSP_Fast/src/filter_cmsis_cw_nar.c @@ -17,75 +17,68 @@ /********************************************************************** /* Calculator used: https://www.arc.id.au/FilterDesign.html /* -/* Design parameter: (Band Pass start 2500 end 4000 - 61 Taps - 40 db) -/* CW filter 61 TAP : +/* Design parameter: (Band Pass start 3600 end 5200 - 51 Taps - 40 db - fs 35150 Hz) +/* CW filter 51 TAP : /* Real Measured bandwidth: < 300 HZ center to 700 Hz /* /* NOTE the real measured features are more stringent than calculated /* due to the MCU implementation. /**********************************************************************/ -const float32_t firCoeffs32_cw_nar[NUM_TAPS_1] = {-0.002491, --0.002638, --0.001074, -0.002126, -0.005692, -0.007642, -0.006446, -0.002186, --0.003160, --0.006734, --0.006654, --0.003528, --0.000406, --0.000830, --0.006003, --0.012965, --0.015439, --0.007469, -0.011960, -0.036266, -0.052901, -0.049322, -0.020524, --0.026099, --0.072035, --0.095378, --0.081663, --0.032213, -0.034769, -0.091609, -0.113798, -0.091609, -0.034769, --0.032213, --0.081663, --0.095378, --0.072035, --0.026099, -0.020524, -0.049322, -0.052901, -0.036266, -0.011960, --0.007469, --0.015439, --0.012965, --0.006003, --0.000830, --0.000406, --0.003528, --0.006654, --0.006734, --0.003160, -0.002186, -0.006446, -0.007642, -0.005692, -0.002126, --0.001074, --0.002638, --0.002491}; +const float32_t firCoeffs32_cw_nar[NUM_TAPS_1] = +{ + -0.001087, +-0.001392, +-0.000652, +-0.000001, +-0.000875, +-0.003061, +-0.003895, +-0.000167, +0.008180, +0.015872, +0.014748, +0.000402, +-0.021798, +-0.037256, +-0.031129, +-0.000557, +0.039360, +0.062458, +0.048743, +0.000495, +-0.055435, +-0.083066, +-0.061357, +-0.000199, +0.063938, +0.091038, +0.063938, +-0.000199, +-0.061357, +-0.083066, +-0.055435, +0.000495, +0.048743, +0.062458, +0.039360, +-0.000557, +-0.031129, +-0.037256, +-0.021798, +0.000402, +0.014748, +0.015872, +0.008180, +-0.000167, +-0.003895, +-0.003061, +-0.000875, +-0.000001, +-0.000652, +-0.001392, +-0.001087 +}; @@ -102,14 +95,10 @@ void init_firFilter1_cmsis_cw_nar(){ float32_t firFilter1_cmsis_cw_nar(float32_t input) { - float32_t *inputF32, *outputF32; - float32_t out[1], in[1]; - in[0] = input; + float32_t inputF = input; + float32_t outF; - inputF32 = &in[0]; - outputF32 = &out[0]; + arm_fir_f32(&S1, &inputF, &outF, BLOCK_SIZE); - arm_fir_f32(&S1, inputF32, outputF32, BLOCK_SIZE); - - return out[0]; + return outF; } diff --git a/src/RadioDSP_Fast/src/filter_cmsis_cw_nar2.c b/src/RadioDSP_Fast/src/filter_cmsis_cw_nar2.c index 3ea91f2..ffe00be 100644 --- a/src/RadioDSP_Fast/src/filter_cmsis_cw_nar2.c +++ b/src/RadioDSP_Fast/src/filter_cmsis_cw_nar2.c @@ -18,7 +18,7 @@ /********************************************************************** /* Calculator used: https://www.arc.id.au/FilterDesign.html /* -/* Design parameter: (Band Pass start 1000 end 5000 - 41 Taps - 40 db) +/* Design parameter: (Band Pass start 1000 end 5000 - 41 Taps - 40 db - fs 35150 Hz) /* CW filter 41 TAP : /* Real Measured bandwidth: < 750 HZ center to 700 Hz /* @@ -81,15 +81,11 @@ void init_firFilter2_cmsis_cw_nar(){ float32_t firFilter2_cmsis_cw_nar(float32_t input) { - float32_t *inputF32, *outputF32; - float32_t out[1], in[1]; - in[0] = input; + float32_t inputF = input; + float32_t outF; - inputF32 = &in[0]; - outputF32 = &out[0]; - - arm_fir_f32(&S2, inputF32, outputF32, BLOCK_SIZE2); + arm_fir_f32(&S2, &inputF, &outF, BLOCK_SIZE2); - return out[0] ; + return outF; } diff --git a/src/RadioDSP_Fast/src/main.c b/src/RadioDSP_Fast/src/main.c index 9e7c083..4070873 100644 --- a/src/RadioDSP_Fast/src/main.c +++ b/src/RadioDSP_Fast/src/main.c @@ -195,16 +195,19 @@ int main(void) // CW NARROW work alone if (FILTER0_STATUS==1) { + adcValueF = firFilter2_cmsis(adcValueF); adcValueF = firFilter2_cmsis_cw_nar(adcValueF); - adcValueF = firFilter1_cmsis(adcValueF); + //adcValueF = firFilter1_cmsis(adcValueF); + } // Noise reduction can work with SSB or alone if (FILTER1_STATUS==1) { // Variable noise Reduction - adcValueF = firFilter1_cmsis_cw_nar(adcValueF); adcValueF = firFilter2_cmsis(adcValueF); + adcValueF = firFilter1_cmsis_cw_nar(adcValueF); + } // SSB work alone or woth Noise reduction