fun_ofdm  1.0
802.11a Physical Layer for USRP
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
preamble.h
Go to the documentation of this file.
1 
8 #ifndef PREAMBLE_H
9 #define PREAMBLE_H
10 
11 #include <complex>
12 
13 namespace fun
14 {
24  static std::complex<double> PREAMBLE_SAMPLES[320] =
25  {
26  std::complex<double>( 0.0229993772561 , 0.0229993772561 ),
27  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
28  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
29  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
30  std::complex<double>( 0.0919975090242 , 0.0 ),
31  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
32  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
33  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
34  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
35  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
36  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
37  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
38  std::complex<double>( 0.0 , 0.0919975090242 ),
39  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
40  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
41  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
42 
43  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
44  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
45  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
46  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
47  std::complex<double>( 0.0919975090242 , 0.0 ),
48  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
49  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
50  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
51  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
52  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
53  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
54  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
55  std::complex<double>( 0.0 , 0.0919975090242 ),
56  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
57  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
58  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
59 
60  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
61  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
62  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
63  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
64  std::complex<double>( 0.0919975090242 , 0.0 ),
65  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
66  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
67  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
68  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
69  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
70  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
71  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
72  std::complex<double>( 0.0 , 0.0919975090242 ),
73  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
74  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
75  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
76 
77  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
78  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
79  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
80  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
81  std::complex<double>( 0.0919975090242 , 0.0 ),
82  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
83  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
84  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
85  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
86  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
87  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
88  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
89  std::complex<double>( 0.0 , 0.0919975090242 ),
90  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
91  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
92  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
93 
94  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
95  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
96  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
97  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
98  std::complex<double>( 0.0919975090242 , 0.0 ),
99  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
100  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
101  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
102  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
103  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
104  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
105  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
106  std::complex<double>( 0.0 , 0.0919975090242 ),
107  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
108  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
109  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
110 
111  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
112  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
113  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
114  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
115  std::complex<double>( 0.0919975090242 , 0.0 ),
116  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
117  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
118  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
119  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
120  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
121  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
122  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
123  std::complex<double>( 0.0 , 0.0919975090242 ),
124  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
125  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
126  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
127 
128  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
129  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
130  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
131  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
132  std::complex<double>( 0.0919975090242 , 0.0 ),
133  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
134  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
135  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
136  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
137  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
138  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
139  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
140  std::complex<double>( 0.0 , 0.0919975090242 ),
141  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
142  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
143  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
144 
145  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
146  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
147  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
148  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
149  std::complex<double>( 0.0919975090242 , 0.0 ),
150  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
151  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
152  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
153  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
154  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
155  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
156  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
157  std::complex<double>( 0.0 , 0.0919975090242 ),
158  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
159  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
160  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
161 
162  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
163  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
164  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
165  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
166  std::complex<double>( 0.0919975090242 , 0.0 ),
167  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
168  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
169  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
170  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
171  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
172  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
173  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
174  std::complex<double>( 0.0 , 0.0919975090242 ),
175  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
176  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
177  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
178 
179  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
180  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
181  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
182  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
183  std::complex<double>( 0.0919975090242 , 0.0 ),
184  std::complex<double>( 0.142755292821 , -0.0126511678539 ),
185  std::complex<double>( -0.0134727232705 , -0.0785247857538 ),
186  std::complex<double>( -0.132443716852 , 0.00233959188499 ),
187  std::complex<double>( 0.0459987545121 , 0.0459987545121 ),
188  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
189  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
190  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
191  std::complex<double>( 0.0 , 0.0919975090242 ),
192  std::complex<double>( -0.0126511678539 , 0.142755292821 ),
193  std::complex<double>( -0.0785247857538 , -0.0134727232705 ),
194  std::complex<double>( 0.00233959188499 , -0.132443716852 ),
195 
196  //Long Training seque nce
197  std::complex<double>( -0.078 , 0.0),
198  std::complex<double>( 0.0122845904586 , -0.0975995535921 ),
199  std::complex<double>( 0.0917165491224 , -0.105871659819 ),
200  std::complex<double>( -0.0918875552628 , -0.115128708911 ),
201  std::complex<double>( -0.00280594417349 , -0.0537742664765 ),
202  std::complex<double>( 0.0750736970682 , 0.0740404189251 ),
203  std::complex<double>( -0.127324359908 , 0.0205013799863 ),
204  std::complex<double>( -0.121887009061 , 0.0165662181391 ),
205  std::complex<double>( -0.0350412607362 , 0.150888347648 ),
206  std::complex<double>( -0.0564551284485 , 0.0218039206074 ),
207  std::complex<double>( -0.0603101003162 , -0.0812861241157 ),
208  std::complex<double>( 0.0695568474069 , -0.0141219585906 ),
209  std::complex<double>( 0.0822183223031 , -0.0923565519537 ),
210  std::complex<double>( -0.131262608975 , -0.0652272290181 ),
211  std::complex<double>( -0.0572063458715 , -0.0392985881741 ),
212  std::complex<double>( 0.0369179420011 , -0.0983441502871 ),
213  std::complex<double>( 0.0625 , 0.0625 ),
214  std::complex<double>( 0.11923908851 , 0.0040955944148 ),
215  std::complex<double>( -0.0224832063078 , -0.160657332953 ),
216  std::complex<double>( 0.0586687671287 , 0.0149389994507 ),
217  std::complex<double>( 0.0244758515211 , 0.0585317956946 ),
218  std::complex<double>( -0.136804876816 , 0.0473798113657 ),
219  std::complex<double>( 0.000988979708988, 0.115004643624 ),
220  std::complex<double>( 0.0533377343742 , -0.00407632648051 ),
221  std::complex<double>( 0.0975412607362 , 0.0258883476483 ),
222  std::complex<double>( -0.0383159674744 , 0.106170912615 ),
223  std::complex<double>( -0.115131214782 , 0.0551804953744 ),
224  std::complex<double>( 0.059823844859 , 0.0877067598357 ),
225  std::complex<double>( 0.0211117703493 , -0.0278859188282 ),
226  std::complex<double>( 0.0968318845911 , -0.0827979094878 ),
227  std::complex<double>( 0.0397496983535 , 0.111157943051 ),
228  std::complex<double>( -0.00512125036042 , 0.120325132674 ),
229 
230  std::complex<double>( 0.15625 , 0.0 ),
231  std::complex<double>( -0.00512125036042 , -0.120325132674 ),
232  std::complex<double>( 0.0397496983535 , -0.111157943051 ),
233  std::complex<double>( 0.0968318845911 , 0.0827979094878 ),
234  std::complex<double>( 0.0211117703493 , 0.0278859188282 ),
235  std::complex<double>( 0.059823844859 , -0.0877067598357 ),
236  std::complex<double>( -0.115131214782 , -0.0551804953744 ),
237  std::complex<double>( -0.0383159674744 , -0.106170912615 ),
238  std::complex<double>( 0.0975412607362 , -0.0258883476483 ),
239  std::complex<double>( 0.0533377343742 , 0.00407632648051 ),
240  std::complex<double>( 0.000988979708988, -0.115004643624 ),
241  std::complex<double>( -0.136804876816 , -0.0473798113657 ),
242  std::complex<double>( 0.0244758515211 , -0.0585317956946 ),
243  std::complex<double>( 0.0586687671287 , -0.0149389994507 ),
244  std::complex<double>( -0.0224832063078 , 0.160657332953 ),
245  std::complex<double>( 0.11923908851 , -0.0040955944148 ),
246  std::complex<double>( 0.0625 , -0.0625 ),
247  std::complex<double>( 0.0369179420011 , 0.0983441502871 ),
248  std::complex<double>( -0.0572063458715 , 0.0392985881741 ),
249  std::complex<double>( -0.131262608975 , 0.0652272290181 ),
250  std::complex<double>( 0.0822183223031 , 0.0923565519537 ),
251  std::complex<double>( 0.0695568474069 , 0.0141219585906 ),
252  std::complex<double>( -0.0603101003162 , 0.0812861241157 ),
253  std::complex<double>( -0.0564551284485 , -0.0218039206074 ),
254  std::complex<double>( -0.0350412607362 , -0.150888347648 ) ,
255  std::complex<double>( -0.121887009061 , -0.0165662181391 ),
256  std::complex<double>( -0.127324359908 , -0.0205013799863 ),
257  std::complex<double>( 0.0750736970682 , -0.0740404189251 ),
258  std::complex<double>( -0.00280594417349 , 0.0537742664765 ),
259  std::complex<double>( -0.0918875552628 , 0.115128708911 ),
260  std::complex<double>( 0.0917165491224 , 0.105871659819 ),
261  std::complex<double>( 0.0122845904586 , 0.0975995535921 ),
262  std::complex<double>( -0.15625 , 0.0 ),
263  std::complex<double>( 0.0122845904586 , -0.0975995535921 ),
264  std::complex<double>( 0.0917165491224 , -0.105871659819 ),
265  std::complex<double>( -0.0918875552628 , -0.115128708911 ),
266  std::complex<double>( -0.00280594417349 , -0.0537742664765 ),
267  std::complex<double>( 0.0750736970682 , 0.0740404189251 ),
268  std::complex<double>( -0.127324359908 , 0.0205013799863 ),
269  std::complex<double>( -0.121887009061 , 0.0165662181391 ),
270  std::complex<double>( -0.0350412607362 , 0.150888347648 ),
271  std::complex<double>( -0.0564551284485 , 0.0218039206074 ),
272  std::complex<double>( -0.0603101003162 , -0.0812861241157 ),
273  std::complex<double>( 0.0695568474069 , -0.0141219585906 ),
274  std::complex<double>( 0.0822183223031 , -0.0923565519537 ),
275  std::complex<double>( -0.131262608975 , -0.0652272290181 ),
276  std::complex<double>( -0.0572063458715 , -0.0392985881741 ),
277  std::complex<double>( 0.0369179420011 , -0.0983441502871 ),
278  std::complex<double>( 0.0625 , 0.0625 ),
279  std::complex<double>( 0.11923908851 , 0.0040955944148 ),
280  std::complex<double>( -0.0224832063078 , -0.160657332953 ),
281  std::complex<double>( 0.0586687671287 , 0.0149389994507 ),
282  std::complex<double>( 0.0244758515211 , 0.0585317956946 ),
283  std::complex<double>( -0.136804876816 , 0.0473798113657 ),
284  std::complex<double>( 0.000988979708988, 0.115004643624 ),
285  std::complex<double>( 0.0533377343742 , -0.00407632648051 ),
286  std::complex<double>( 0.0975412607362 , 0.0258883476483 ),
287  std::complex<double>( -0.0383159674744 , 0.106170912615 ),
288  std::complex<double>( -0.115131214782 , 0.0551804953744 ),
289  std::complex<double>( 0.059823844859 , 0.0877067598357 ),
290  std::complex<double>( 0.0211117703493 , -0.0278859188282 ),
291  std::complex<double>( 0.0968318845911 , -0.0827979094878 ),
292  std::complex<double>( 0.0397496983535 , 0.111157943051 ),
293  std::complex<double>( -0.00512125036042 , 0.120325132674 ),
294 
295  std::complex<double>( 0.15625 , 0.0 ),
296  std::complex<double>( -0.00512125036042 , -0.120325132674 ),
297  std::complex<double>( 0.0397496983535 , -0.111157943051 ),
298  std::complex<double>( 0.0968318845911 , 0.0827979094878 ),
299  std::complex<double>( 0.0211117703493 , 0.0278859188282 ),
300  std::complex<double>( 0.059823844859 , -0.0877067598357 ),
301  std::complex<double>( -0.115131214782 , -0.0551804953744 ),
302  std::complex<double>( -0.0383159674744 , -0.106170912615 ),
303  std::complex<double>( 0.0975412607362 , -0.0258883476483 ),
304  std::complex<double>( 0.0533377343742 , 0.00407632648051 ),
305  std::complex<double>( 0.000988979708988, -0.115004643624 ),
306  std::complex<double>( -0.136804876816 , -0.0473798113657 ),
307  std::complex<double>( 0.0244758515211 , -0.0585317956946 ),
308  std::complex<double>( 0.0586687671287 , -0.0149389994507 ),
309  std::complex<double>( -0.0224832063078 , 0.160657332953 ),
310  std::complex<double>( 0.11923908851 , -0.0040955944148 ),
311  std::complex<double>( 0.0625 , -0.0625 ),
312  std::complex<double>( 0.0369179420011 , 0.0983441502871 ),
313  std::complex<double>( -0.0572063458715 , 0.0392985881741 ),
314  std::complex<double>( -0.131262608975 , 0.0652272290181 ),
315  std::complex<double>( 0.0822183223031 , 0.0923565519537 ),
316  std::complex<double>( 0.0695568474069 , 0.0141219585906 ),
317  std::complex<double>( -0.0603101003162 , 0.0812861241157 ),
318  std::complex<double>( -0.0564551284485 , -0.0218039206074 ),
319  std::complex<double>( -0.0350412607362 , -0.150888347648 ),
320  std::complex<double>( -0.121887009061 , -0.0165662181391 ),
321  std::complex<double>( -0.127324359908 , -0.0205013799863 ),
322  std::complex<double>( 0.0750736970682 , -0.0740404189251 ),
323  std::complex<double>( -0.00280594417349 , 0.0537742664765 ),
324  std::complex<double>( -0.0918875552628 , 0.115128708911 ),
325  std::complex<double>( 0.0917165491224 , 0.105871659819 ),
326  std::complex<double>( 0.0122845904586 , 0.0975995535921 ),
327  std::complex<double>( -0.15625 , 0.0 ),
328  std::complex<double>( 0.0122845904586 , -0.0975995535921 ),
329  std::complex<double>( 0.0917165491224 , -0.105871659819 ),
330  std::complex<double>( -0.0918875552628 , -0.115128708911 ),
331  std::complex<double>( -0.00280594417349 , -0.0537742664765 ),
332  std::complex<double>( 0.0750736970682 , 0.0740404189251 ),
333  std::complex<double>( -0.127324359908 , 0.0205013799863 ),
334  std::complex<double>( -0.121887009061 , 0.0165662181391 ),
335  std::complex<double>( -0.0350412607362 , 0.150888347648 ),
336  std::complex<double>( -0.0564551284485 , 0.0218039206074 ),
337  std::complex<double>( -0.0603101003162 , -0.0812861241157 ),
338  std::complex<double>( 0.0695568474069 , -0.0141219585906 ),
339  std::complex<double>( 0.0822183223031 , -0.0923565519537 ),
340  std::complex<double>( -0.131262608975 , -0.0652272290181 ),
341  std::complex<double>( -0.0572063458715 , -0.0392985881741 ),
342  std::complex<double>( 0.0369179420011 , -0.0983441502871 ),
343  std::complex<double>( 0.0625 , 0.0625 ),
344  std::complex<double>( 0.11923908851 , 0.0040955944148 ),
345  std::complex<double>( -0.0224832063078 , -0.160657332953 ),
346  std::complex<double>( 0.0586687671287 , 0.0149389994507 ),
347  std::complex<double>( 0.0244758515211 , 0.0585317956946 ),
348  std::complex<double>( -0.136804876816 , 0.0473798113657 ),
349  std::complex<double>( 0.000988979708988, 0.115004643624 ),
350  std::complex<double>( 0.0533377343742 , -0.00407632648051 ),
351  std::complex<double>( 0.0975412607362 , 0.0258883476483 ),
352  std::complex<double>( -0.0383159674744 , 0.106170912615 ),
353  std::complex<double>( -0.115131214782 , 0.0551804953744 ),
354  std::complex<double>( 0.059823844859 , 0.0877067598357 ),
355  std::complex<double>( 0.0211117703493 , -0.0278859188282 ),
356  std::complex<double>( 0.0968318845911 , -0.0827979094878 ),
357  std::complex<double>( 0.0397496983535 , 0.111157943051 ),
358  std::complex<double>( -0.00512125036042 , 0.120325132674 )
359  };
360 
361 
363  static std::complex<double> LTS_FREQ_DOMAIN[64] =
364  {
365  std::complex<double>( 0, 0 ),
366  std::complex<double>( 0, 0 ),
367  std::complex<double>( 0, 0 ),
368  std::complex<double>( 0, 0 ),
369  std::complex<double>( 0, 0 ),
370  std::complex<double>( 0, 0 ),
371  std::complex<double>( 1, 0 ),
372  std::complex<double>( 1, 0 ),
373  std::complex<double>(-1, 0 ),
374  std::complex<double>(-1, 0 ),
375  std::complex<double>( 1, 0 ),
376  std::complex<double>( 1, 0 ),
377  std::complex<double>(-1, 0 ),
378  std::complex<double>( 1, 0 ),
379  std::complex<double>(-1, 0 ),
380  std::complex<double>( 1, 0 ),
381  std::complex<double>( 1, 0 ),
382  std::complex<double>( 1, 0 ),
383  std::complex<double>( 1, 0 ),
384  std::complex<double>( 1, 0 ),
385  std::complex<double>( 1, 0 ),
386  std::complex<double>(-1, 0 ),
387  std::complex<double>(-1, 0 ),
388  std::complex<double>( 1, 0 ),
389  std::complex<double>( 1, 0 ),
390  std::complex<double>(-1, 0 ),
391  std::complex<double>( 1, 0 ),
392  std::complex<double>(-1, 0 ),
393  std::complex<double>( 1, 0 ),
394  std::complex<double>( 1, 0 ),
395  std::complex<double>( 1, 0 ),
396  std::complex<double>( 1, 0 ),
397  std::complex<double>( 0, 0 ),
398  std::complex<double>( 1, 0 ),
399  std::complex<double>(-1, 0 ),
400  std::complex<double>(-1, 0 ),
401  std::complex<double>( 1, 0 ),
402  std::complex<double>( 1, 0 ),
403  std::complex<double>(-1, 0 ),
404  std::complex<double>( 1, 0 ),
405  std::complex<double>(-1, 0 ),
406  std::complex<double>( 1, 0 ),
407  std::complex<double>(-1, 0 ),
408  std::complex<double>(-1, 0 ),
409  std::complex<double>(-1, 0 ),
410  std::complex<double>(-1, 0 ),
411  std::complex<double>(-1, 0 ),
412  std::complex<double>( 1, 0 ),
413  std::complex<double>( 1, 0 ),
414  std::complex<double>(-1, 0 ),
415  std::complex<double>(-1, 0 ),
416  std::complex<double>( 1, 0 ),
417  std::complex<double>(-1, 0 ),
418  std::complex<double>( 1, 0 ),
419  std::complex<double>(-1, 0 ),
420  std::complex<double>( 1, 0 ),
421  std::complex<double>( 1, 0 ),
422  std::complex<double>( 1, 0 ),
423  std::complex<double>( 1, 0 ),
424  std::complex<double>( 0, 0 ),
425  std::complex<double>( 0, 0 ),
426  std::complex<double>( 0, 0 ),
427  std::complex<double>( 0, 0 ),
428  std::complex<double>( 0, 0 )
429  };
430 
432  static std::complex<double> LTS_TIME_DOMAIN_CONJ[64] =
433  {
434  std::complex<double>( 0.15625 , 0.0),
435  std::complex<double>(-0.00512125036042 , 0.120325132674),
436  std::complex<double>( 0.0397496983535 , 0.111157943051),
437  std::complex<double>( 0.0968318845911 , -0.0827979094878),
438  std::complex<double>( 0.0211117703493 , -0.0278859188282),
439  std::complex<double>( 0.059823844859 , 0.0877067598357),
440  std::complex<double>(-0.115131214782 , 0.0551804953744),
441  std::complex<double>(-0.0383159674744 , 0.106170912615),
442  std::complex<double>( 0.0975412607362 , 0.0258883476483),
443  std::complex<double>( 0.0533377343742 , -0.00407632648051),
444  std::complex<double>( 0.000988979708988, 0.115004643624),
445  std::complex<double>(-0.136804876816 , 0.0473798113657),
446  std::complex<double>( 0.0244758515211 , 0.0585317956946),
447  std::complex<double>( 0.0586687671287 , 0.0149389994507),
448  std::complex<double>(-0.0224832063078 , -0.160657332953),
449  std::complex<double>( 0.11923908851 , 0.0040955944148),
450  std::complex<double>( 0.0625 , 0.0625),
451  std::complex<double>( 0.0369179420011 , -0.0983441502871),
452  std::complex<double>(-0.0572063458715 , -0.0392985881741),
453  std::complex<double>(-0.131262608975 , -0.0652272290181),
454  std::complex<double>( 0.0822183223031 , -0.0923565519537),
455  std::complex<double>( 0.0695568474069 , -0.0141219585906),
456  std::complex<double>(-0.0603101003162 , -0.0812861241157),
457  std::complex<double>(-0.0564551284485 , 0.0218039206074),
458  std::complex<double>(-0.0350412607362 , 0.150888347648),
459  std::complex<double>(-0.121887009061 , 0.0165662181391),
460  std::complex<double>(-0.127324359908 , 0.0205013799863),
461  std::complex<double>( 0.0750736970682 , 0.0740404189251),
462  std::complex<double>(-0.00280594417349 , -0.0537742664765),
463  std::complex<double>(-0.0918875552628 , -0.115128708911),
464  std::complex<double>( 0.0917165491224 , -0.105871659819),
465  std::complex<double>( 0.0122845904586 , -0.0975995535921),
466  std::complex<double>(-0.15625 , -0.0),
467  std::complex<double>( 0.0122845904586 , 0.0975995535921),
468  std::complex<double>( 0.0917165491224 , 0.105871659819),
469  std::complex<double>(-0.0918875552628 , 0.115128708911),
470  std::complex<double>(-0.00280594417349 , 0.0537742664765),
471  std::complex<double>( 0.0750736970682 , -0.0740404189251),
472  std::complex<double>(-0.127324359908 , -0.0205013799863),
473  std::complex<double>(-0.121887009061 , -0.0165662181391),
474  std::complex<double>(-0.0350412607362 , -0.150888347648),
475  std::complex<double>(-0.0564551284485 , -0.0218039206074),
476  std::complex<double>(-0.0603101003162 , 0.0812861241157),
477  std::complex<double>( 0.0695568474069 , 0.0141219585906),
478  std::complex<double>( 0.0822183223031 , 0.0923565519537),
479  std::complex<double>(-0.131262608975 , 0.0652272290181),
480  std::complex<double>(-0.0572063458715 , 0.0392985881741),
481  std::complex<double>( 0.0369179420011 , 0.0983441502871),
482  std::complex<double>( 0.0625 , -0.0625),
483  std::complex<double>( 0.11923908851 , -0.0040955944148),
484  std::complex<double>(-0.0224832063078 , 0.160657332953),
485  std::complex<double>( 0.0586687671287 , -0.0149389994507),
486  std::complex<double>( 0.0244758515211 , -0.0585317956946),
487  std::complex<double>(-0.136804876816 , -0.0473798113657),
488  std::complex<double>( 0.000988979708988, -0.115004643624),
489  std::complex<double>( 0.0533377343742 , 0.00407632648051),
490  std::complex<double>( 0.0975412607362 , -0.0258883476483),
491  std::complex<double>(-0.0383159674744 , -0.106170912615),
492  std::complex<double>(-0.115131214782 , -0.0551804953744),
493  std::complex<double>( 0.059823844859 , -0.0877067598357),
494  std::complex<double>( 0.0211117703493 , 0.0278859188282),
495  std::complex<double>( 0.0968318845911 , 0.0827979094878),
496  std::complex<double>( 0.0397496983535 , -0.111157943051),
497  std::complex<double>(-0.00512125036042 , -0.120325132674)
498  };
499 
501  static std::complex<double> STS_SAMPLES[16] =
502  {
503  std::complex<double>( 0.0459987545121 , 0.0459987545121),
504  std::complex<double>(-0.132443716852 , 0.00233959188499),
505  std::complex<double>(-0.0134727232705 , -0.0785247857538),
506  std::complex<double>( 0.142755292821 , -0.0126511678539),
507  std::complex<double>( 0.0919975090242 , 0.0),
508  std::complex<double>( 0.142755292821 , -0.0126511678539),
509  std::complex<double>(-0.0134727232705 , -0.0785247857538),
510  std::complex<double>(-0.132443716852 , 0.00233959188499),
511  std::complex<double>( 0.0459987545121 , 0.0459987545121),
512  std::complex<double>( 0.00233959188499, -0.132443716852),
513  std::complex<double>(-0.0785247857538 , -0.0134727232705),
514  std::complex<double>(-0.0126511678539 , 0.142755292821),
515  std::complex<double>( 0.0 , 0.0919975090242),
516  std::complex<double>(-0.0126511678539 , 0.142755292821),
517  std::complex<double>(-0.0785247857538 , -0.0134727232705),
518  std::complex<double>( 0.00233959188499, -0.132443716852),
519  };
520 
521 }
522 
523 #endif // PREAMBLE_H