Issue link: http://dc.ee.ubm-us.com/i/71837

What could be so magical about correlating against a sine function that was shifted by an arbitrary amount? Well, the answer is "nothing." that article again and decided to delve into it to see what the story was. I was so impressed with what I learned that I immediately wrote a little freeware u tili ty fo r gene• was shifted by an a•·bitrary amount? ·al aviation enthusi- asts-a PC program to measure tl1e RPM of an airplane engine based on the sound of tl1at engin e. The pro- gram (available a t www.wwnet.net/ - rscott/ rpm.so-und.htm[) uses the Hartley transform to find tl1e peaks in the fre- quency spectrum. The pattern and location of the frequency peaks deter- min e the RPM. Hartley transform defined The Hartley transform was first pro- posed in 1942 by Ralph Hartl ey. This is the same fe llow, by the way, who inve nted the well-known Hartley oscil- lato• · circuit. just as in tl1e Fo urie r transform, the Hartley u·ansfo rm star ts with a seque nce of samples in the time domain. Let X(t) fo r t = 0 . .. N-1 be uch a sequence. The Hart.ley trans- form of thi s seque nce is a nothe r sequence, H(f) for f = 0 ... N-1 given by: H(f ) = ~ ~X(t{co{2 ~)+sin(2 ~)] (1) If, for some reason, you want to undo tl1is u·ansforn1 , the fommla is almost identical, except for the absence of the 1/ N facto r: X(t) =% H(f{ co{2 ~) + sin( 2 ~)] The first tl1ing that made me suspi- cious about these formulae was tlut the sum of tl1e cosine and the sine of an angle is just anot11er phase-shifted sine function (shifted by 45 degrees, to be exact). What could be so magical about correlating against a sine function tl1at Well , tl1e answer is "noth ing." In fact, it is possible to define a whole class of reversible transforms based on other phase-shifted sine functions. But the specific sine fun ction used in tl1e Hartley transform exh ibi ts a certain symmeu·y between the transform and its inverse. And when it comes to implementing tl1e u-ansform, we wi ll see that we end up taking pure sines and cosines any- way and not their sums. Comparisons with the FFT In a 1988 article in Byle, • Mark 0 ' eill gave form u- lae simi lar to the ones shown above; but note the typo in his Equation 5, FIGURE l FHT data flow A 16-point sequence, X, generates its Hartley transform, H. The lines represent instances of the single butterfly calculation from Figure 1. Lines have been ommited for null terms. HOOO H001 X 0 8 4 12 2 10 6 14 9 ::=::==:::::::: ::::::::::::><: :::::::::><:::: ::::::::::::><: :::::::><:: 11 7 1: ::::::::::::><: 3 :::::::>:<: 15 :::::::>:<: H111 HOO H01 H10 H11 which I have corrected. In addition to introducing the Hartley transform, O'Neill went on to develop the fast Hart.ley u·ansform, based on a 1984 articl e by Ronald Bracewell Proceedings of the IEEE. 2 in The results of recursion Equations 3 and 4 are combined in t his data-flow diagram. Blue represents terms with a cosine factor. Red represents terms with a sine factor. Black represents terms with no trig factors. HO H1 H 0 ...-------, 0 1 2 3 2 3 4 -M,~~'+flh4~ 4 5 6 7 0 ~~~~d 9 2 e611lrRt¥~~ 1 o 3 4 5 6 7 11 12 13 14 15 Embedded Systems Programming SEPTEMBER 2000 129 5 6 7 8

- September001
- September002
- September003
- September004
- September005
- September006
- September007
- September008
- September009
- September010
- September011
- September012
- September013
- September014
- September015
- September016
- September017
- September018
- September019
- September020
- September021
- September022
- September023
- September024
- September025
- September026
- September027
- September028
- September029
- September030
- September031
- September032
- September033
- September034
- September035
- September036
- September037
- September038
- September039
- September040
- September041
- September042
- September043
- September044
- September045
- September046
- September047
- September048
- September049
- September050
- September051
- September052
- September053
- September054
- September055
- September056
- September057
- September058
- September059
- September060
- September061
- September062
- September063
- September064
- September065
- September066
- September067
- September068
- September069
- September070
- September071
- September072
- September073
- September074
- September075
- September076
- September077
- September078
- September079
- September080
- September081
- September082
- September083
- September084
- September085
- September086
- September087
- September088
- September089
- September090
- September091
- September092
- September093
- September094
- September095
- September096
- September097
- September098
- September099
- September100
- September101
- September102
- September103
- September104
- September105
- September106
- September107
- September108
- September109
- September110
- September111
- September112
- September113
- September114
- September115
- September116
- September117
- September118
- September119
- September120
- September121
- September122
- September123
- September124
- September125
- September126
- September127
- September128
- September129
- September130
- September131
- September132
- September133
- September134
- September135
- September136
- September137
- September138
- September139
- September140
- September141
- September142
- September143
- September144
- September145
- September146
- September147
- September148
- September149
- September150
- September151
- September152
- September153
- September154
- September155
- September156
- September157
- September158
- September159
- September160
- September161
- September162
- September163
- September164
- September165
- September166
- September167
- September168
- September169
- September171
- September172
- September173
- September174
- September175
- September176
- September177
- September178
- September179
- September180
- September181
- September182
- September183
- September184
- September185
- September186
- September187
- September188
- September189
- September190
- September191
- September192
- September193
- September194
- September195
- September196
- September197
- September198
- September199
- September200
- September201
- September202
- September203
- September204
- September205
- September206
- September207
- September208
- September209
- September210
- September211
- September212
- September213
- September214
- September215
- September216
- September217
- September218
- September219
- September220
- September221
- September222
- September223
- September224
- September225
- September226
- September227
- September228
- September229
- September230
- September231