Improved CW filters

Some improvements to CW filters.
master
Giuseppe Callipo 2018-04-26 13:29:53 +02:00
rodzic 4570f36732
commit 8a55ffe87c
11 zmienionych plików z 300 dodań i 322 usunięć

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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"

Wyświetl plik

@ -53,37 +53,37 @@
</File>
<File name="src\filter_cmsis.c" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="266" topLine="0" />
<Cursor1 position="1448" topLine="34" />
</Cursor>
</File>
<File name="src\filter_cmsis2.c" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="616" topLine="0" />
<Cursor1 position="1452" topLine="32" />
</Cursor>
</File>
<File name="src\filter_cmsis_cw_nar.c" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="100" topLine="0" />
<Cursor1 position="2286" topLine="84" />
</Cursor>
</File>
<File name="src\filter_cmsis_cw_nar2.c" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="279" topLine="0" />
<Cursor1 position="2066" topLine="64" />
</Cursor>
</File>
<File name="src\filter_noise_reduction.c" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="457" topLine="0" />
<Cursor1 position="457" topLine="31" />
</Cursor>
</File>
<File name="src\io_routines.c" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="src\io_routines.c" open="1" top="1" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5986" topLine="95" />
<Cursor1 position="6444" topLine="185" />
</Cursor>
</File>
<File name="src\main.c" open="1" top="1" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="src\main.c" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="817" topLine="0" />
<Cursor1 position="5900" topLine="219" />
</Cursor>
</File>
<File name="src\system_stm32f10x.c" open="1" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">

Wyświetl plik

@ -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];

Wyświetl plik

@ -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;
}

Wyświetl plik

@ -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;
}

Wyświetl plik

@ -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;
}

Wyświetl plik

@ -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;
}

Wyświetl plik

@ -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