Preambles.bsv
上传用户:aoptech
上传日期:2014-09-22
资源大小:784k
文件大小:51k
源码类别:

3G开发

开发平台:

Others

  1. //----------------------------------------------------------------------//
  2. // The MIT License 
  3. // 
  4. // Copyright (c) 2007 Alfred Man Cheuk Ng, mcn02@mit.edu 
  5. // 
  6. // Permission is hereby granted, free of charge, to any person 
  7. // obtaining a copy of this software and associated documentation 
  8. // files (the "Software"), to deal in the Software without 
  9. // restriction, including without limitation the rights to use,
  10. // copy, modify, merge, publish, distribute, sublicense, and/or sell
  11. // copies of the Software, and to permit persons to whom the
  12. // Software is furnished to do so, subject to the following conditions:
  13. // 
  14. // The above copyright notice and this permission notice shall be
  15. // included in all copies or substantial portions of the Software.
  16. // 
  17. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  18. // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  19. // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  20. // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  21. // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  22. // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  23. // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  24. // OTHER DEALINGS IN THE SOFTWARE.
  25. //----------------------------------------------------------------------//
  26. import List::*;
  27. import Vector::*;
  28. import Complex::*;
  29. import DataTypes::*;
  30. import RegFile::*;
  31. import FixedPoint::*;
  32. import FPComplex::*;
  33. // function to generate short training sequence
  34. function Vector#(256, FPComplex#(2,14)) getShortPreambles();
  35. Vector#(256, FPComplex#(2,14)) tempV = Vector::toVector(
  36. List::cons(cmplx(fromRational(625000,10000000), fromRational(625000,10000000)),
  37. List::cons(cmplx(fromRational(353100,10000000), fromRational(-1029300,10000000)),
  38. List::cons(cmplx(fromRational(-757100,10000000), fromRational(194400,10000000)),
  39. List::cons(cmplx(fromRational(-441500,10000000), fromRational(665000,10000000)),
  40. List::cons(cmplx(fromRational(369300,10000000), fromRational(-62800,10000000)),
  41. List::cons(cmplx(fromRational(920500,10000000), fromRational(597200,10000000)),
  42. List::cons(cmplx(fromRational(347100,10000000), fromRational(-294900,10000000)),
  43. List::cons(cmplx(fromRational(206500,10000000), fromRational(-921400,10000000)),
  44. List::cons(cmplx(fromRational(552400,10000000), fromRational(-552400,10000000)),
  45. List::cons(cmplx(fromRational(-10100,10000000), fromRational(-169700,10000000)),
  46. List::cons(cmplx(fromRational(-34800,10000000), fromRational(558900,10000000)),
  47. List::cons(cmplx(fromRational(-239100,10000000), fromRational(-507500,10000000)),
  48. List::cons(cmplx(fromRational(-1021400,10000000), fromRational(-284700,10000000)),
  49. List::cons(cmplx(fromRational(-312000,10000000), fromRational(869900,10000000)),
  50. List::cons(cmplx(fromRational(766700,10000000), fromRational(-538200,10000000)),
  51. List::cons(cmplx(fromRational(-103800,10000000), fromRational(-519300,10000000)),
  52. List::cons(cmplx(fromRational(-1093800,10000000), fromRational(-156200,10000000)),
  53. List::cons(cmplx(fromRational(-160700,10000000), fromRational(-690600,10000000)),
  54. List::cons(cmplx(fromRational(-77700,10000000), fromRational(508300,10000000)),
  55. List::cons(cmplx(fromRational(-821800,10000000), fromRational(383000,10000000)),
  56. List::cons(cmplx(fromRational(-21700,10000000), fromRational(-623000,10000000)),
  57. List::cons(cmplx(fromRational(576500,10000000), fromRational(-112100,10000000)),
  58. List::cons(cmplx(fromRational(889200,10000000), fromRational(406700,10000000)),
  59. List::cons(cmplx(fromRational(400100,10000000), fromRational(645400,10000000)),
  60. List::cons(cmplx(fromRational(-773400,10000000), fromRational(773400,10000000)),
  61. List::cons(cmplx(fromRational(303000,10000000), fromRational(789100,10000000)),
  62. List::cons(cmplx(fromRational(471400,10000000), fromRational(-193200,10000000)),
  63. List::cons(cmplx(fromRational(-805300,10000000), fromRational(-747500,10000000)),
  64. List::cons(cmplx(fromRational(-359400,10000000), fromRational(753800,10000000)),
  65. List::cons(cmplx(fromRational(-303100,10000000), fromRational(727700,10000000)),
  66. List::cons(cmplx(fromRational(127500,10000000), fromRational(-13700,10000000)),
  67. List::cons(cmplx(fromRational(876900,10000000), fromRational(655200,10000000)),
  68. List::cons(cmplx(fromRational(0,10000000), fromRational(0,10000000)),
  69. List::cons(cmplx(fromRational(81500,10000000), fromRational(-850300,10000000)),
  70. List::cons(cmplx(fromRational(775300,10000000), fromRational(-753700,10000000)),
  71. List::cons(cmplx(fromRational(875700,10000000), fromRational(-480000,10000000)),
  72. List::cons(cmplx(fromRational(827100,10000000), fromRational(634200,10000000)),
  73. List::cons(cmplx(fromRational(328700,10000000), fromRational(629200,10000000)),
  74. List::cons(cmplx(fromRational(259700,10000000), fromRational(-300800,10000000)),
  75. List::cons(cmplx(fromRational(-244500,10000000), fromRational(337300,10000000)),
  76. List::cons(cmplx(fromRational(-552400,10000000), fromRational(552400,10000000)),
  77. List::cons(cmplx(fromRational(718800,10000000), fromRational(-143500,10000000)),
  78. List::cons(cmplx(fromRational(833200,10000000), fromRational(478600,10000000)),
  79. List::cons(cmplx(fromRational(-129400,10000000), fromRational(371600,10000000)),
  80. List::cons(cmplx(fromRational(83900,10000000), fromRational(-911700,10000000)),
  81. List::cons(cmplx(fromRational(598800,10000000), fromRational(-279400,10000000)),
  82. List::cons(cmplx(fromRational(214700,10000000), fromRational(655500,10000000)),
  83. List::cons(cmplx(fromRational(-439100,10000000), fromRational(678400,10000000)),
  84. List::cons(cmplx(fromRational(-781200,10000000), fromRational(781200,10000000)),
  85. List::cons(cmplx(fromRational(-1006600,10000000), fromRational(-149600,10000000)),
  86. List::cons(cmplx(fromRational(-382500,10000000), fromRational(-391000,10000000)),
  87. List::cons(cmplx(fromRational(-101900,10000000), fromRational(45900,10000000)),
  88. List::cons(cmplx(fromRational(-549600,10000000), fromRational(-573400,10000000)),
  89. List::cons(cmplx(fromRational(296900,10000000), fromRational(112400,10000000)),
  90. List::cons(cmplx(fromRational(195900,10000000), fromRational(630800,10000000)),
  91. List::cons(cmplx(fromRational(-306100,10000000), fromRational(-535100,10000000)),
  92. List::cons(cmplx(fromRational(773400,10000000), fromRational(-773400,10000000)),
  93. List::cons(cmplx(fromRational(87100,10000000), fromRational(-407700,10000000)),
  94. List::cons(cmplx(fromRational(-827800,10000000), fromRational(-402500,10000000)),
  95. List::cons(cmplx(fromRational(-470600,10000000), fromRational(-614400,10000000)),
  96. List::cons(cmplx(fromRational(-578100,10000000), fromRational(-182400,10000000)),
  97. List::cons(cmplx(fromRational(27400,10000000), fromRational(106700,10000000)),
  98. List::cons(cmplx(fromRational(-300900,10000000), fromRational(-545500,10000000)),
  99. List::cons(cmplx(fromRational(-756300,10000000), fromRational(543200,10000000)),
  100. List::cons(cmplx(fromRational(625000,10000000), fromRational(625000,10000000)),
  101. List::cons(cmplx(fromRational(353100,10000000), fromRational(-1029300,10000000)),
  102. List::cons(cmplx(fromRational(-757100,10000000), fromRational(194400,10000000)),
  103. List::cons(cmplx(fromRational(-441500,10000000), fromRational(665000,10000000)),
  104. List::cons(cmplx(fromRational(369300,10000000), fromRational(-62800,10000000)),
  105. List::cons(cmplx(fromRational(920500,10000000), fromRational(597200,10000000)),
  106. List::cons(cmplx(fromRational(347100,10000000), fromRational(-294900,10000000)),
  107. List::cons(cmplx(fromRational(206500,10000000), fromRational(-921400,10000000)),
  108. List::cons(cmplx(fromRational(552400,10000000), fromRational(-552400,10000000)),
  109. List::cons(cmplx(fromRational(-10100,10000000), fromRational(-169700,10000000)),
  110. List::cons(cmplx(fromRational(-34800,10000000), fromRational(558900,10000000)),
  111. List::cons(cmplx(fromRational(-239100,10000000), fromRational(-507500,10000000)),
  112. List::cons(cmplx(fromRational(-1021400,10000000), fromRational(-284700,10000000)),
  113. List::cons(cmplx(fromRational(-312000,10000000), fromRational(869900,10000000)),
  114. List::cons(cmplx(fromRational(766700,10000000), fromRational(-538200,10000000)),
  115. List::cons(cmplx(fromRational(-103800,10000000), fromRational(-519300,10000000)),
  116. List::cons(cmplx(fromRational(-1093800,10000000), fromRational(-156200,10000000)),
  117. List::cons(cmplx(fromRational(-160700,10000000), fromRational(-690600,10000000)),
  118. List::cons(cmplx(fromRational(-77700,10000000), fromRational(508300,10000000)),
  119. List::cons(cmplx(fromRational(-821800,10000000), fromRational(383000,10000000)),
  120. List::cons(cmplx(fromRational(-21700,10000000), fromRational(-623000,10000000)),
  121. List::cons(cmplx(fromRational(576500,10000000), fromRational(-112100,10000000)),
  122. List::cons(cmplx(fromRational(889200,10000000), fromRational(406700,10000000)),
  123. List::cons(cmplx(fromRational(400100,10000000), fromRational(645400,10000000)),
  124. List::cons(cmplx(fromRational(-773400,10000000), fromRational(773400,10000000)),
  125. List::cons(cmplx(fromRational(303000,10000000), fromRational(789100,10000000)),
  126. List::cons(cmplx(fromRational(471400,10000000), fromRational(-193200,10000000)),
  127. List::cons(cmplx(fromRational(-805300,10000000), fromRational(-747500,10000000)),
  128. List::cons(cmplx(fromRational(-359400,10000000), fromRational(753800,10000000)),
  129. List::cons(cmplx(fromRational(-303100,10000000), fromRational(727700,10000000)),
  130. List::cons(cmplx(fromRational(127500,10000000), fromRational(-13700,10000000)),
  131. List::cons(cmplx(fromRational(876900,10000000), fromRational(655200,10000000)),
  132. List::cons(cmplx(fromRational(0,10000000), fromRational(0,10000000)),
  133. List::cons(cmplx(fromRational(81500,10000000), fromRational(-850300,10000000)),
  134. List::cons(cmplx(fromRational(775300,10000000), fromRational(-753700,10000000)),
  135. List::cons(cmplx(fromRational(875700,10000000), fromRational(-480000,10000000)),
  136. List::cons(cmplx(fromRational(827100,10000000), fromRational(634200,10000000)),
  137. List::cons(cmplx(fromRational(328700,10000000), fromRational(629200,10000000)),
  138. List::cons(cmplx(fromRational(259700,10000000), fromRational(-300800,10000000)),
  139. List::cons(cmplx(fromRational(-244500,10000000), fromRational(337300,10000000)),
  140. List::cons(cmplx(fromRational(-552400,10000000), fromRational(552400,10000000)),
  141. List::cons(cmplx(fromRational(718800,10000000), fromRational(-143500,10000000)),
  142. List::cons(cmplx(fromRational(833200,10000000), fromRational(478600,10000000)),
  143. List::cons(cmplx(fromRational(-129400,10000000), fromRational(371600,10000000)),
  144. List::cons(cmplx(fromRational(83900,10000000), fromRational(-911700,10000000)),
  145. List::cons(cmplx(fromRational(598800,10000000), fromRational(-279400,10000000)),
  146. List::cons(cmplx(fromRational(214700,10000000), fromRational(655500,10000000)),
  147. List::cons(cmplx(fromRational(-439100,10000000), fromRational(678400,10000000)),
  148. List::cons(cmplx(fromRational(-781200,10000000), fromRational(781200,10000000)),
  149. List::cons(cmplx(fromRational(-1006600,10000000), fromRational(-149600,10000000)),
  150. List::cons(cmplx(fromRational(-382500,10000000), fromRational(-391000,10000000)),
  151. List::cons(cmplx(fromRational(-101900,10000000), fromRational(45900,10000000)),
  152. List::cons(cmplx(fromRational(-549600,10000000), fromRational(-573400,10000000)),
  153. List::cons(cmplx(fromRational(296900,10000000), fromRational(112400,10000000)),
  154. List::cons(cmplx(fromRational(195900,10000000), fromRational(630800,10000000)),
  155. List::cons(cmplx(fromRational(-306100,10000000), fromRational(-535100,10000000)),
  156. List::cons(cmplx(fromRational(773400,10000000), fromRational(-773400,10000000)),
  157. List::cons(cmplx(fromRational(87100,10000000), fromRational(-407700,10000000)),
  158. List::cons(cmplx(fromRational(-827800,10000000), fromRational(-402500,10000000)),
  159. List::cons(cmplx(fromRational(-470600,10000000), fromRational(-614400,10000000)),
  160. List::cons(cmplx(fromRational(-578100,10000000), fromRational(-182400,10000000)),
  161. List::cons(cmplx(fromRational(27400,10000000), fromRational(106700,10000000)),
  162. List::cons(cmplx(fromRational(-300900,10000000), fromRational(-545500,10000000)),
  163. List::cons(cmplx(fromRational(-756300,10000000), fromRational(543200,10000000)),
  164. List::cons(cmplx(fromRational(625000,10000000), fromRational(625000,10000000)),
  165. List::cons(cmplx(fromRational(353100,10000000), fromRational(-1029300,10000000)),
  166. List::cons(cmplx(fromRational(-757100,10000000), fromRational(194400,10000000)),
  167. List::cons(cmplx(fromRational(-441500,10000000), fromRational(665000,10000000)),
  168. List::cons(cmplx(fromRational(369300,10000000), fromRational(-62800,10000000)),
  169. List::cons(cmplx(fromRational(920500,10000000), fromRational(597200,10000000)),
  170. List::cons(cmplx(fromRational(347100,10000000), fromRational(-294900,10000000)),
  171. List::cons(cmplx(fromRational(206500,10000000), fromRational(-921400,10000000)),
  172. List::cons(cmplx(fromRational(552400,10000000), fromRational(-552400,10000000)),
  173. List::cons(cmplx(fromRational(-10100,10000000), fromRational(-169700,10000000)),
  174. List::cons(cmplx(fromRational(-34800,10000000), fromRational(558900,10000000)),
  175. List::cons(cmplx(fromRational(-239100,10000000), fromRational(-507500,10000000)),
  176. List::cons(cmplx(fromRational(-1021400,10000000), fromRational(-284700,10000000)),
  177. List::cons(cmplx(fromRational(-312000,10000000), fromRational(869900,10000000)),
  178. List::cons(cmplx(fromRational(766700,10000000), fromRational(-538200,10000000)),
  179. List::cons(cmplx(fromRational(-103800,10000000), fromRational(-519300,10000000)),
  180. List::cons(cmplx(fromRational(-1093800,10000000), fromRational(-156200,10000000)),
  181. List::cons(cmplx(fromRational(-160700,10000000), fromRational(-690600,10000000)),
  182. List::cons(cmplx(fromRational(-77700,10000000), fromRational(508300,10000000)),
  183. List::cons(cmplx(fromRational(-821800,10000000), fromRational(383000,10000000)),
  184. List::cons(cmplx(fromRational(-21700,10000000), fromRational(-623000,10000000)),
  185. List::cons(cmplx(fromRational(576500,10000000), fromRational(-112100,10000000)),
  186. List::cons(cmplx(fromRational(889200,10000000), fromRational(406700,10000000)),
  187. List::cons(cmplx(fromRational(400100,10000000), fromRational(645400,10000000)),
  188. List::cons(cmplx(fromRational(-773400,10000000), fromRational(773400,10000000)),
  189. List::cons(cmplx(fromRational(303000,10000000), fromRational(789100,10000000)),
  190. List::cons(cmplx(fromRational(471400,10000000), fromRational(-193200,10000000)),
  191. List::cons(cmplx(fromRational(-805300,10000000), fromRational(-747500,10000000)),
  192. List::cons(cmplx(fromRational(-359400,10000000), fromRational(753800,10000000)),
  193. List::cons(cmplx(fromRational(-303100,10000000), fromRational(727700,10000000)),
  194. List::cons(cmplx(fromRational(127500,10000000), fromRational(-13700,10000000)),
  195. List::cons(cmplx(fromRational(876900,10000000), fromRational(655200,10000000)),
  196. List::cons(cmplx(fromRational(0,10000000), fromRational(0,10000000)),
  197. List::cons(cmplx(fromRational(81500,10000000), fromRational(-850300,10000000)),
  198. List::cons(cmplx(fromRational(775300,10000000), fromRational(-753700,10000000)),
  199. List::cons(cmplx(fromRational(875700,10000000), fromRational(-480000,10000000)),
  200. List::cons(cmplx(fromRational(827100,10000000), fromRational(634200,10000000)),
  201. List::cons(cmplx(fromRational(328700,10000000), fromRational(629200,10000000)),
  202. List::cons(cmplx(fromRational(259700,10000000), fromRational(-300800,10000000)),
  203. List::cons(cmplx(fromRational(-244500,10000000), fromRational(337300,10000000)),
  204. List::cons(cmplx(fromRational(-552400,10000000), fromRational(552400,10000000)),
  205. List::cons(cmplx(fromRational(718800,10000000), fromRational(-143500,10000000)),
  206. List::cons(cmplx(fromRational(833200,10000000), fromRational(478600,10000000)),
  207. List::cons(cmplx(fromRational(-129400,10000000), fromRational(371600,10000000)),
  208. List::cons(cmplx(fromRational(83900,10000000), fromRational(-911700,10000000)),
  209. List::cons(cmplx(fromRational(598800,10000000), fromRational(-279400,10000000)),
  210. List::cons(cmplx(fromRational(214700,10000000), fromRational(655500,10000000)),
  211. List::cons(cmplx(fromRational(-439100,10000000), fromRational(678400,10000000)),
  212. List::cons(cmplx(fromRational(-781200,10000000), fromRational(781200,10000000)),
  213. List::cons(cmplx(fromRational(-1006600,10000000), fromRational(-149600,10000000)),
  214. List::cons(cmplx(fromRational(-382500,10000000), fromRational(-391000,10000000)),
  215. List::cons(cmplx(fromRational(-101900,10000000), fromRational(45900,10000000)),
  216. List::cons(cmplx(fromRational(-549600,10000000), fromRational(-573400,10000000)),
  217. List::cons(cmplx(fromRational(296900,10000000), fromRational(112400,10000000)),
  218. List::cons(cmplx(fromRational(195900,10000000), fromRational(630800,10000000)),
  219. List::cons(cmplx(fromRational(-306100,10000000), fromRational(-535100,10000000)),
  220. List::cons(cmplx(fromRational(773400,10000000), fromRational(-773400,10000000)),
  221. List::cons(cmplx(fromRational(87100,10000000), fromRational(-407700,10000000)),
  222. List::cons(cmplx(fromRational(-827800,10000000), fromRational(-402500,10000000)),
  223. List::cons(cmplx(fromRational(-470600,10000000), fromRational(-614400,10000000)),
  224. List::cons(cmplx(fromRational(-578100,10000000), fromRational(-182400,10000000)),
  225. List::cons(cmplx(fromRational(27400,10000000), fromRational(106700,10000000)),
  226. List::cons(cmplx(fromRational(-300900,10000000), fromRational(-545500,10000000)),
  227. List::cons(cmplx(fromRational(-756300,10000000), fromRational(543200,10000000)),
  228. List::cons(cmplx(fromRational(625000,10000000), fromRational(625000,10000000)),
  229. List::cons(cmplx(fromRational(353100,10000000), fromRational(-1029300,10000000)),
  230. List::cons(cmplx(fromRational(-757100,10000000), fromRational(194400,10000000)),
  231. List::cons(cmplx(fromRational(-441500,10000000), fromRational(665000,10000000)),
  232. List::cons(cmplx(fromRational(369300,10000000), fromRational(-62800,10000000)),
  233. List::cons(cmplx(fromRational(920500,10000000), fromRational(597200,10000000)),
  234. List::cons(cmplx(fromRational(347100,10000000), fromRational(-294900,10000000)),
  235. List::cons(cmplx(fromRational(206500,10000000), fromRational(-921400,10000000)),
  236. List::cons(cmplx(fromRational(552400,10000000), fromRational(-552400,10000000)),
  237. List::cons(cmplx(fromRational(-10100,10000000), fromRational(-169700,10000000)),
  238. List::cons(cmplx(fromRational(-34800,10000000), fromRational(558900,10000000)),
  239. List::cons(cmplx(fromRational(-239100,10000000), fromRational(-507500,10000000)),
  240. List::cons(cmplx(fromRational(-1021400,10000000), fromRational(-284700,10000000)),
  241. List::cons(cmplx(fromRational(-312000,10000000), fromRational(869900,10000000)),
  242. List::cons(cmplx(fromRational(766700,10000000), fromRational(-538200,10000000)),
  243. List::cons(cmplx(fromRational(-103800,10000000), fromRational(-519300,10000000)),
  244. List::cons(cmplx(fromRational(-1093800,10000000), fromRational(-156200,10000000)),
  245. List::cons(cmplx(fromRational(-160700,10000000), fromRational(-690600,10000000)),
  246. List::cons(cmplx(fromRational(-77700,10000000), fromRational(508300,10000000)),
  247. List::cons(cmplx(fromRational(-821800,10000000), fromRational(383000,10000000)),
  248. List::cons(cmplx(fromRational(-21700,10000000), fromRational(-623000,10000000)),
  249. List::cons(cmplx(fromRational(576500,10000000), fromRational(-112100,10000000)),
  250. List::cons(cmplx(fromRational(889200,10000000), fromRational(406700,10000000)),
  251. List::cons(cmplx(fromRational(400100,10000000), fromRational(645400,10000000)),
  252. List::cons(cmplx(fromRational(-773400,10000000), fromRational(773400,10000000)),
  253. List::cons(cmplx(fromRational(303000,10000000), fromRational(789100,10000000)),
  254. List::cons(cmplx(fromRational(471400,10000000), fromRational(-193200,10000000)),
  255. List::cons(cmplx(fromRational(-805300,10000000), fromRational(-747500,10000000)),
  256. List::cons(cmplx(fromRational(-359400,10000000), fromRational(753800,10000000)),
  257. List::cons(cmplx(fromRational(-303100,10000000), fromRational(727700,10000000)),
  258. List::cons(cmplx(fromRational(127500,10000000), fromRational(-13700,10000000)),
  259. List::cons(cmplx(fromRational(876900,10000000), fromRational(655200,10000000)),
  260. List::cons(cmplx(fromRational(0,10000000), fromRational(0,10000000)),
  261. List::cons(cmplx(fromRational(81500,10000000), fromRational(-850300,10000000)),
  262. List::cons(cmplx(fromRational(775300,10000000), fromRational(-753700,10000000)),
  263. List::cons(cmplx(fromRational(875700,10000000), fromRational(-480000,10000000)),
  264. List::cons(cmplx(fromRational(827100,10000000), fromRational(634200,10000000)),
  265. List::cons(cmplx(fromRational(328700,10000000), fromRational(629200,10000000)),
  266. List::cons(cmplx(fromRational(259700,10000000), fromRational(-300800,10000000)),
  267. List::cons(cmplx(fromRational(-244500,10000000), fromRational(337300,10000000)),
  268. List::cons(cmplx(fromRational(-552400,10000000), fromRational(552400,10000000)),
  269. List::cons(cmplx(fromRational(718800,10000000), fromRational(-143500,10000000)),
  270. List::cons(cmplx(fromRational(833200,10000000), fromRational(478600,10000000)),
  271. List::cons(cmplx(fromRational(-129400,10000000), fromRational(371600,10000000)),
  272. List::cons(cmplx(fromRational(83900,10000000), fromRational(-911700,10000000)),
  273. List::cons(cmplx(fromRational(598800,10000000), fromRational(-279400,10000000)),
  274. List::cons(cmplx(fromRational(214700,10000000), fromRational(655500,10000000)),
  275. List::cons(cmplx(fromRational(-439100,10000000), fromRational(678400,10000000)),
  276. List::cons(cmplx(fromRational(-781200,10000000), fromRational(781200,10000000)),
  277. List::cons(cmplx(fromRational(-1006600,10000000), fromRational(-149600,10000000)),
  278. List::cons(cmplx(fromRational(-382500,10000000), fromRational(-391000,10000000)),
  279. List::cons(cmplx(fromRational(-101900,10000000), fromRational(45900,10000000)),
  280. List::cons(cmplx(fromRational(-549600,10000000), fromRational(-573400,10000000)),
  281. List::cons(cmplx(fromRational(296900,10000000), fromRational(112400,10000000)),
  282. List::cons(cmplx(fromRational(195900,10000000), fromRational(630800,10000000)),
  283. List::cons(cmplx(fromRational(-306100,10000000), fromRational(-535100,10000000)),
  284. List::cons(cmplx(fromRational(773400,10000000), fromRational(-773400,10000000)),
  285. List::cons(cmplx(fromRational(87100,10000000), fromRational(-407700,10000000)),
  286. List::cons(cmplx(fromRational(-827800,10000000), fromRational(-402500,10000000)),
  287. List::cons(cmplx(fromRational(-470600,10000000), fromRational(-614400,10000000)),
  288. List::cons(cmplx(fromRational(-578100,10000000), fromRational(-182400,10000000)),
  289. List::cons(cmplx(fromRational(27400,10000000), fromRational(106700,10000000)),
  290. List::cons(cmplx(fromRational(-300900,10000000), fromRational(-545500,10000000)),
  291. List::cons(cmplx(fromRational(-756300,10000000), fromRational(543200,10000000)),
  292. List::nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
  293. return tempV;
  294. endfunction
  295. // function to generate long training sequence
  296. function Vector#(256, FPComplex#(2,14)) getLongPreambles();
  297. Vector#(256, FPComplex#(2,14)) tempV = Vector::toVector(
  298. List::cons(cmplx(fromRational(441900,10000000), fromRational(441900,10000000)),
  299. List::cons(cmplx(fromRational(865600,10000000), fromRational(-503600,10000000)),
  300. List::cons(cmplx(fromRational(-626200,10000000), fromRational(31200,10000000)),
  301. List::cons(cmplx(fromRational(-689100,10000000), fromRational(-100900,10000000)),
  302. List::cons(cmplx(fromRational(573600,10000000), fromRational(-273000,10000000)),
  303. List::cons(cmplx(fromRational(466500,10000000), fromRational(843300,10000000)),
  304. List::cons(cmplx(fromRational(-335900,10000000), fromRational(-59200,10000000)),
  305. List::cons(cmplx(fromRational(271400,10000000), fromRational(-1032800,10000000)),
  306. List::cons(cmplx(fromRational(890700,10000000), fromRational(-467900,10000000)),
  307. List::cons(cmplx(fromRational(641400,10000000), fromRational(92200,10000000)),
  308. List::cons(cmplx(fromRational(553600,10000000), fromRational(840900,10000000)),
  309. List::cons(cmplx(fromRational(-388100,10000000), fromRational(245800,10000000)),
  310. List::cons(cmplx(fromRational(-919600,10000000), fromRational(219300,10000000)),
  311. List::cons(cmplx(fromRational(167900,10000000), fromRational(1029600,10000000)),
  312. List::cons(cmplx(fromRational(339600,10000000), fromRational(-565000,10000000)),
  313. List::cons(cmplx(fromRational(-453400,10000000), fromRational(-756300,10000000)),
  314. List::cons(cmplx(fromRational(-851500,10000000), fromRational(436400,10000000)),
  315. List::cons(cmplx(fromRational(-718100,10000000), fromRational(-66900,10000000)),
  316. List::cons(cmplx(fromRational(-281400,10000000), fromRational(577000,10000000)),
  317. List::cons(cmplx(fromRational(-226800,10000000), fromRational(953700,10000000)),
  318. List::cons(cmplx(fromRational(-144900,10000000), fromRational(-75600,10000000)),
  319. List::cons(cmplx(fromRational(357800,10000000), fromRational(-65900,10000000)),
  320. List::cons(cmplx(fromRational(880600,10000000), fromRational(-134900,10000000)),
  321. List::cons(cmplx(fromRational(575500,10000000), fromRational(111600,10000000)),
  322. List::cons(cmplx(fromRational(-36500,10000000), fromRational(1057300,10000000)),
  323. List::cons(cmplx(fromRational(760700,10000000), fromRational(539600,10000000)),
  324. List::cons(cmplx(fromRational(589000,10000000), fromRational(-453000,10000000)),
  325. List::cons(cmplx(fromRational(-1002600,10000000), fromRational(-127200,10000000)),
  326. List::cons(cmplx(fromRational(-390000,10000000), fromRational(636700,10000000)),
  327. List::cons(cmplx(fromRational(450300,10000000), fromRational(778700,10000000)),
  328. List::cons(cmplx(fromRational(123400,10000000), fromRational(729700,10000000)),
  329. List::cons(cmplx(fromRational(713300,10000000), fromRational(503300,10000000)),
  330. List::cons(cmplx(fromRational(773400,10000000), fromRational(-110500,10000000)),
  331. List::cons(cmplx(fromRational(398400,10000000), fromRational(-230700,10000000)),
  332. List::cons(cmplx(fromRational(622200,10000000), fromRational(-413600,10000000)),
  333. List::cons(cmplx(fromRational(277500,10000000), fromRational(-560600,10000000)),
  334. List::cons(cmplx(fromRational(456700,10000000), fromRational(334600,10000000)),
  335. List::cons(cmplx(fromRational(833700,10000000), fromRational(-4900,10000000)),
  336. List::cons(cmplx(fromRational(-155100,10000000), fromRational(-872800,10000000)),
  337. List::cons(cmplx(fromRational(-468800,10000000), fromRational(557000,10000000)),
  338. List::cons(cmplx(fromRational(239300,10000000), fromRational(781400,10000000)),
  339. List::cons(cmplx(fromRational(601800,10000000), fromRational(-765600,10000000)),
  340. List::cons(cmplx(fromRational(707800,10000000), fromRational(-158200,10000000)),
  341. List::cons(cmplx(fromRational(-240000,10000000), fromRational(253200,10000000)),
  342. List::cons(cmplx(fromRational(-716200,10000000), fromRational(-660000,10000000)),
  343. List::cons(cmplx(fromRational(410400,10000000), fromRational(-71200,10000000)),
  344. List::cons(cmplx(fromRational(363400,10000000), fromRational(847700,10000000)),
  345. List::cons(cmplx(fromRational(-100300,10000000), fromRational(1094700,10000000)),
  346. List::cons(cmplx(fromRational(-318100,10000000), fromRational(786800,10000000)),
  347. List::cons(cmplx(fromRational(-1031000,10000000), fromRational(174100,10000000)),
  348. List::cons(cmplx(fromRational(107500,10000000), fromRational(272800,10000000)),
  349. List::cons(cmplx(fromRational(533600,10000000), fromRational(-432600,10000000)),
  350. List::cons(cmplx(fromRational(-873800,10000000), fromRational(-670400,10000000)),
  351. List::cons(cmplx(fromRational(-55900,10000000), fromRational(782700,10000000)),
  352. List::cons(cmplx(fromRational(713000,10000000), fromRational(495700,10000000)),
  353. List::cons(cmplx(fromRational(478900,10000000), fromRational(-294300,10000000)),
  354. List::cons(cmplx(fromRational(758300,10000000), fromRational(-335500,10000000)),
  355. List::cons(cmplx(fromRational(22300,10000000), fromRational(-955800,10000000)),
  356. List::cons(cmplx(fromRational(-128900,10000000), fromRational(-609300,10000000)),
  357. List::cons(cmplx(fromRational(60500,10000000), fromRational(-49600,10000000)),
  358. List::cons(cmplx(fromRational(-389100,10000000), fromRational(482200,10000000)),
  359. List::cons(cmplx(fromRational(-260300,10000000), fromRational(796600,10000000)),
  360. List::cons(cmplx(fromRational(-907700,10000000), fromRational(-165000,10000000)),
  361. List::cons(cmplx(fromRational(-667400,10000000), fromRational(374500,10000000)),
  362. List::cons(cmplx(fromRational(441900,10000000), fromRational(441900,10000000)),
  363. List::cons(cmplx(fromRational(-366300,10000000), fromRational(-952100,10000000)),
  364. List::cons(cmplx(fromRational(-444600,10000000), fromRational(243800,10000000)),
  365. List::cons(cmplx(fromRational(64800,10000000), fromRational(1041400,10000000)),
  366. List::cons(cmplx(fromRational(-51300,10000000), fromRational(184200,10000000)),
  367. List::cons(cmplx(fromRational(835400,10000000), fromRational(1300,10000000)),
  368. List::cons(cmplx(fromRational(826800,10000000), fromRational(-357800,10000000)),
  369. List::cons(cmplx(fromRational(20600,10000000), fromRational(-270300,10000000)),
  370. List::cons(cmplx(fromRational(-109500,10000000), fromRational(-313300,10000000)),
  371. List::cons(cmplx(fromRational(-655700,10000000), fromRational(-332100,10000000)),
  372. List::cons(cmplx(fromRational(-602900,10000000), fromRational(-50400,10000000)),
  373. List::cons(cmplx(fromRational(49900,10000000), fromRational(-963600,10000000)),
  374. List::cons(cmplx(fromRational(-524900,10000000), fromRational(-622000,10000000)),
  375. List::cons(cmplx(fromRational(-609100,10000000), fromRational(200600,10000000)),
  376. List::cons(cmplx(fromRational(744800,10000000), fromRational(-196100,10000000)),
  377. List::cons(cmplx(fromRational(306700,10000000), fromRational(21900,10000000)),
  378. List::cons(cmplx(fromRational(-695300,10000000), fromRational(-657400,10000000)),
  379. List::cons(cmplx(fromRational(490900,10000000), fromRational(-909800,10000000)),
  380. List::cons(cmplx(fromRational(171600,10000000), fromRational(141800,10000000)),
  381. List::cons(cmplx(fromRational(-935400,10000000), fromRational(-412100,10000000)),
  382. List::cons(cmplx(fromRational(114100,10000000), fromRational(-805400,10000000)),
  383. List::cons(cmplx(fromRational(457500,10000000), fromRational(-92600,10000000)),
  384. List::cons(cmplx(fromRational(377000,10000000), fromRational(710100,10000000)),
  385. List::cons(cmplx(fromRational(-9600,10000000), fromRational(801200,10000000)),
  386. List::cons(cmplx(fromRational(-1057300,10000000), fromRational(36500,10000000)),
  387. List::cons(cmplx(fromRational(-332200,10000000), fromRational(576300,10000000)),
  388. List::cons(cmplx(fromRational(77600,10000000), fromRational(179900,10000000)),
  389. List::cons(cmplx(fromRational(-136300,10000000), fromRational(-929900,10000000)),
  390. List::cons(cmplx(fromRational(-118300,10000000), fromRational(429300,10000000)),
  391. List::cons(cmplx(fromRational(-878900,10000000), fromRational(250400,10000000)),
  392. List::cons(cmplx(fromRational(56900,10000000), fromRational(-749100,10000000)),
  393. List::cons(cmplx(fromRational(526900,10000000), fromRational(423300,10000000)),
  394. List::cons(cmplx(fromRational(-773400,10000000), fromRational(110500,10000000)),
  395. List::cons(cmplx(fromRational(-283100,10000000), fromRational(-971700,10000000)),
  396. List::cons(cmplx(fromRational(474300,10000000), fromRational(-652300,10000000)),
  397. List::cons(cmplx(fromRational(960900,10000000), fromRational(-118300,10000000)),
  398. List::cons(cmplx(fromRational(713000,10000000), fromRational(562300,10000000)),
  399. List::cons(cmplx(fromRational(-368800,10000000), fromRational(894700,10000000)),
  400. List::cons(cmplx(fromRational(522300,10000000), fromRational(447400,10000000)),
  401. List::cons(cmplx(fromRational(123100,10000000), fromRational(-79900,10000000)),
  402. List::cons(cmplx(fromRational(-1020600,10000000), fromRational(-200,10000000)),
  403. List::cons(cmplx(fromRational(414700,10000000), fromRational(562700,10000000)),
  404. List::cons(cmplx(fromRational(470600,10000000), fromRational(835100,10000000)),
  405. List::cons(cmplx(fromRational(57000,10000000), fromRational(272400,10000000)),
  406. List::cons(cmplx(fromRational(834800,10000000), fromRational(-629300,10000000)),
  407. List::cons(cmplx(fromRational(436400,10000000), fromRational(-323900,10000000)),
  408. List::cons(cmplx(fromRational(-59800,10000000), fromRational(79200,10000000)),
  409. List::cons(cmplx(fromRational(-520700,10000000), fromRational(-135300,10000000)),
  410. List::cons(cmplx(fromRational(-786800,10000000), fromRational(318100,10000000)),
  411. List::cons(cmplx(fromRational(-392500,10000000), fromRational(-385700,10000000)),
  412. List::cons(cmplx(fromRational(-648400,10000000), fromRational(-825800,10000000)),
  413. List::cons(cmplx(fromRational(-677800,10000000), fromRational(497400,10000000)),
  414. List::cons(cmplx(fromRational(96500,10000000), fromRational(-140600,10000000)),
  415. List::cons(cmplx(fromRational(475800,10000000), fromRational(-623700,10000000)),
  416. List::cons(cmplx(fromRational(-435900,10000000), fromRational(396400,10000000)),
  417. List::cons(cmplx(fromRational(-911800,10000000), fromRational(-462500,10000000)),
  418. List::cons(cmplx(fromRational(335500,10000000), fromRational(-758300,10000000)),
  419. List::cons(cmplx(fromRational(100900,10000000), fromRational(379200,10000000)),
  420. List::cons(cmplx(fromRational(-1041800,10000000), fromRational(40100,10000000)),
  421. List::cons(cmplx(fromRational(-726000,10000000), fromRational(-819300,10000000)),
  422. List::cons(cmplx(fromRational(-428400,10000000), fromRational(-740200,10000000)),
  423. List::cons(cmplx(fromRational(299100,10000000), fromRational(-645700,10000000)),
  424. List::cons(cmplx(fromRational(482200,10000000), fromRational(-606400,10000000)),
  425. List::cons(cmplx(fromRational(-402200,10000000), fromRational(393800,10000000)),
  426. List::cons(cmplx(fromRational(441900,10000000), fromRational(441900,10000000)),
  427. List::cons(cmplx(fromRational(865600,10000000), fromRational(-503600,10000000)),
  428. List::cons(cmplx(fromRational(-626200,10000000), fromRational(31200,10000000)),
  429. List::cons(cmplx(fromRational(-689100,10000000), fromRational(-100900,10000000)),
  430. List::cons(cmplx(fromRational(573600,10000000), fromRational(-273000,10000000)),
  431. List::cons(cmplx(fromRational(466500,10000000), fromRational(843300,10000000)),
  432. List::cons(cmplx(fromRational(-335900,10000000), fromRational(-59200,10000000)),
  433. List::cons(cmplx(fromRational(271400,10000000), fromRational(-1032800,10000000)),
  434. List::cons(cmplx(fromRational(890700,10000000), fromRational(-467900,10000000)),
  435. List::cons(cmplx(fromRational(641400,10000000), fromRational(92200,10000000)),
  436. List::cons(cmplx(fromRational(553600,10000000), fromRational(840900,10000000)),
  437. List::cons(cmplx(fromRational(-388100,10000000), fromRational(245800,10000000)),
  438. List::cons(cmplx(fromRational(-919600,10000000), fromRational(219300,10000000)),
  439. List::cons(cmplx(fromRational(167900,10000000), fromRational(1029600,10000000)),
  440. List::cons(cmplx(fromRational(339600,10000000), fromRational(-565000,10000000)),
  441. List::cons(cmplx(fromRational(-453400,10000000), fromRational(-756300,10000000)),
  442. List::cons(cmplx(fromRational(-851500,10000000), fromRational(436400,10000000)),
  443. List::cons(cmplx(fromRational(-718100,10000000), fromRational(-66900,10000000)),
  444. List::cons(cmplx(fromRational(-281400,10000000), fromRational(577000,10000000)),
  445. List::cons(cmplx(fromRational(-226800,10000000), fromRational(953700,10000000)),
  446. List::cons(cmplx(fromRational(-144900,10000000), fromRational(-75600,10000000)),
  447. List::cons(cmplx(fromRational(357800,10000000), fromRational(-65900,10000000)),
  448. List::cons(cmplx(fromRational(880600,10000000), fromRational(-134900,10000000)),
  449. List::cons(cmplx(fromRational(575500,10000000), fromRational(111600,10000000)),
  450. List::cons(cmplx(fromRational(-36500,10000000), fromRational(1057300,10000000)),
  451. List::cons(cmplx(fromRational(760700,10000000), fromRational(539600,10000000)),
  452. List::cons(cmplx(fromRational(589000,10000000), fromRational(-453000,10000000)),
  453. List::cons(cmplx(fromRational(-1002600,10000000), fromRational(-127200,10000000)),
  454. List::cons(cmplx(fromRational(-390000,10000000), fromRational(636700,10000000)),
  455. List::cons(cmplx(fromRational(450300,10000000), fromRational(778700,10000000)),
  456. List::cons(cmplx(fromRational(123400,10000000), fromRational(729700,10000000)),
  457. List::cons(cmplx(fromRational(713300,10000000), fromRational(503300,10000000)),
  458. List::cons(cmplx(fromRational(773400,10000000), fromRational(-110500,10000000)),
  459. List::cons(cmplx(fromRational(398400,10000000), fromRational(-230700,10000000)),
  460. List::cons(cmplx(fromRational(622200,10000000), fromRational(-413600,10000000)),
  461. List::cons(cmplx(fromRational(277500,10000000), fromRational(-560600,10000000)),
  462. List::cons(cmplx(fromRational(456700,10000000), fromRational(334600,10000000)),
  463. List::cons(cmplx(fromRational(833700,10000000), fromRational(-4900,10000000)),
  464. List::cons(cmplx(fromRational(-155100,10000000), fromRational(-872800,10000000)),
  465. List::cons(cmplx(fromRational(-468800,10000000), fromRational(557000,10000000)),
  466. List::cons(cmplx(fromRational(239300,10000000), fromRational(781400,10000000)),
  467. List::cons(cmplx(fromRational(601800,10000000), fromRational(-765600,10000000)),
  468. List::cons(cmplx(fromRational(707800,10000000), fromRational(-158200,10000000)),
  469. List::cons(cmplx(fromRational(-240000,10000000), fromRational(253200,10000000)),
  470. List::cons(cmplx(fromRational(-716200,10000000), fromRational(-660000,10000000)),
  471. List::cons(cmplx(fromRational(410400,10000000), fromRational(-71200,10000000)),
  472. List::cons(cmplx(fromRational(363400,10000000), fromRational(847700,10000000)),
  473. List::cons(cmplx(fromRational(-100300,10000000), fromRational(1094700,10000000)),
  474. List::cons(cmplx(fromRational(-318100,10000000), fromRational(786800,10000000)),
  475. List::cons(cmplx(fromRational(-1031000,10000000), fromRational(174100,10000000)),
  476. List::cons(cmplx(fromRational(107500,10000000), fromRational(272800,10000000)),
  477. List::cons(cmplx(fromRational(533600,10000000), fromRational(-432600,10000000)),
  478. List::cons(cmplx(fromRational(-873800,10000000), fromRational(-670400,10000000)),
  479. List::cons(cmplx(fromRational(-55900,10000000), fromRational(782700,10000000)),
  480. List::cons(cmplx(fromRational(713000,10000000), fromRational(495700,10000000)),
  481. List::cons(cmplx(fromRational(478900,10000000), fromRational(-294300,10000000)),
  482. List::cons(cmplx(fromRational(758300,10000000), fromRational(-335500,10000000)),
  483. List::cons(cmplx(fromRational(22300,10000000), fromRational(-955800,10000000)),
  484. List::cons(cmplx(fromRational(-128900,10000000), fromRational(-609300,10000000)),
  485. List::cons(cmplx(fromRational(60500,10000000), fromRational(-49600,10000000)),
  486. List::cons(cmplx(fromRational(-389100,10000000), fromRational(482200,10000000)),
  487. List::cons(cmplx(fromRational(-260300,10000000), fromRational(796600,10000000)),
  488. List::cons(cmplx(fromRational(-907700,10000000), fromRational(-165000,10000000)),
  489. List::cons(cmplx(fromRational(-667400,10000000), fromRational(374500,10000000)),
  490. List::cons(cmplx(fromRational(441900,10000000), fromRational(441900,10000000)),
  491. List::cons(cmplx(fromRational(-366300,10000000), fromRational(-952100,10000000)),
  492. List::cons(cmplx(fromRational(-444600,10000000), fromRational(243800,10000000)),
  493. List::cons(cmplx(fromRational(64800,10000000), fromRational(1041400,10000000)),
  494. List::cons(cmplx(fromRational(-51300,10000000), fromRational(184200,10000000)),
  495. List::cons(cmplx(fromRational(835400,10000000), fromRational(1300,10000000)),
  496. List::cons(cmplx(fromRational(826800,10000000), fromRational(-357800,10000000)),
  497. List::cons(cmplx(fromRational(20600,10000000), fromRational(-270300,10000000)),
  498. List::cons(cmplx(fromRational(-109500,10000000), fromRational(-313300,10000000)),
  499. List::cons(cmplx(fromRational(-655700,10000000), fromRational(-332100,10000000)),
  500. List::cons(cmplx(fromRational(-602900,10000000), fromRational(-50400,10000000)),
  501. List::cons(cmplx(fromRational(49900,10000000), fromRational(-963600,10000000)),
  502. List::cons(cmplx(fromRational(-524900,10000000), fromRational(-622000,10000000)),
  503. List::cons(cmplx(fromRational(-609100,10000000), fromRational(200600,10000000)),
  504. List::cons(cmplx(fromRational(744800,10000000), fromRational(-196100,10000000)),
  505. List::cons(cmplx(fromRational(306700,10000000), fromRational(21900,10000000)),
  506. List::cons(cmplx(fromRational(-695300,10000000), fromRational(-657400,10000000)),
  507. List::cons(cmplx(fromRational(490900,10000000), fromRational(-909800,10000000)),
  508. List::cons(cmplx(fromRational(171600,10000000), fromRational(141800,10000000)),
  509. List::cons(cmplx(fromRational(-935400,10000000), fromRational(-412100,10000000)),
  510. List::cons(cmplx(fromRational(114100,10000000), fromRational(-805400,10000000)),
  511. List::cons(cmplx(fromRational(457500,10000000), fromRational(-92600,10000000)),
  512. List::cons(cmplx(fromRational(377000,10000000), fromRational(710100,10000000)),
  513. List::cons(cmplx(fromRational(-9600,10000000), fromRational(801200,10000000)),
  514. List::cons(cmplx(fromRational(-1057300,10000000), fromRational(36500,10000000)),
  515. List::cons(cmplx(fromRational(-332200,10000000), fromRational(576300,10000000)),
  516. List::cons(cmplx(fromRational(77600,10000000), fromRational(179900,10000000)),
  517. List::cons(cmplx(fromRational(-136300,10000000), fromRational(-929900,10000000)),
  518. List::cons(cmplx(fromRational(-118300,10000000), fromRational(429300,10000000)),
  519. List::cons(cmplx(fromRational(-878900,10000000), fromRational(250400,10000000)),
  520. List::cons(cmplx(fromRational(56900,10000000), fromRational(-749100,10000000)),
  521. List::cons(cmplx(fromRational(526900,10000000), fromRational(423300,10000000)),
  522. List::cons(cmplx(fromRational(-773400,10000000), fromRational(110500,10000000)),
  523. List::cons(cmplx(fromRational(-283100,10000000), fromRational(-971700,10000000)),
  524. List::cons(cmplx(fromRational(474300,10000000), fromRational(-652300,10000000)),
  525. List::cons(cmplx(fromRational(960900,10000000), fromRational(-118300,10000000)),
  526. List::cons(cmplx(fromRational(713000,10000000), fromRational(562300,10000000)),
  527. List::cons(cmplx(fromRational(-368800,10000000), fromRational(894700,10000000)),
  528. List::cons(cmplx(fromRational(522300,10000000), fromRational(447400,10000000)),
  529. List::cons(cmplx(fromRational(123100,10000000), fromRational(-79900,10000000)),
  530. List::cons(cmplx(fromRational(-1020600,10000000), fromRational(-200,10000000)),
  531. List::cons(cmplx(fromRational(414700,10000000), fromRational(562700,10000000)),
  532. List::cons(cmplx(fromRational(470600,10000000), fromRational(835100,10000000)),
  533. List::cons(cmplx(fromRational(57000,10000000), fromRational(272400,10000000)),
  534. List::cons(cmplx(fromRational(834800,10000000), fromRational(-629300,10000000)),
  535. List::cons(cmplx(fromRational(436400,10000000), fromRational(-323900,10000000)),
  536. List::cons(cmplx(fromRational(-59800,10000000), fromRational(79200,10000000)),
  537. List::cons(cmplx(fromRational(-520700,10000000), fromRational(-135300,10000000)),
  538. List::cons(cmplx(fromRational(-786800,10000000), fromRational(318100,10000000)),
  539. List::cons(cmplx(fromRational(-392500,10000000), fromRational(-385700,10000000)),
  540. List::cons(cmplx(fromRational(-648400,10000000), fromRational(-825800,10000000)),
  541. List::cons(cmplx(fromRational(-677800,10000000), fromRational(497400,10000000)),
  542. List::cons(cmplx(fromRational(96500,10000000), fromRational(-140600,10000000)),
  543. List::cons(cmplx(fromRational(475800,10000000), fromRational(-623700,10000000)),
  544. List::cons(cmplx(fromRational(-435900,10000000), fromRational(396400,10000000)),
  545. List::cons(cmplx(fromRational(-911800,10000000), fromRational(-462500,10000000)),
  546. List::cons(cmplx(fromRational(335500,10000000), fromRational(-758300,10000000)),
  547. List::cons(cmplx(fromRational(100900,10000000), fromRational(379200,10000000)),
  548. List::cons(cmplx(fromRational(-1041800,10000000), fromRational(40100,10000000)),
  549. List::cons(cmplx(fromRational(-726000,10000000), fromRational(-819300,10000000)),
  550. List::cons(cmplx(fromRational(-428400,10000000), fromRational(-740200,10000000)),
  551. List::cons(cmplx(fromRational(299100,10000000), fromRational(-645700,10000000)),
  552. List::cons(cmplx(fromRational(482200,10000000), fromRational(-606400,10000000)),
  553. List::cons(cmplx(fromRational(-402200,10000000), fromRational(393800,10000000)),
  554. List::nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
  555. return tempV;
  556. endfunction
  557. // function to generate long training sequence (signs only)
  558. function Vector#(256, Complex#(Bit#(1))) getLongPreSigns();
  559. Vector#(256, Complex#(Bit#(1))) tempV = Vector::toVector(
  560. List::cons(cmplx(0, 0),
  561. List::cons(cmplx(0, 1),
  562. List::cons(cmplx(1, 0),
  563. List::cons(cmplx(1, 1),
  564. List::cons(cmplx(0, 1),
  565. List::cons(cmplx(0, 0),
  566. List::cons(cmplx(1, 1),
  567. List::cons(cmplx(0, 1),
  568. List::cons(cmplx(0, 1),
  569. List::cons(cmplx(0, 0),
  570. List::cons(cmplx(0, 0),
  571. List::cons(cmplx(1, 0),
  572. List::cons(cmplx(1, 0),
  573. List::cons(cmplx(0, 0),
  574. List::cons(cmplx(0, 1),
  575. List::cons(cmplx(1, 1),
  576. List::cons(cmplx(1, 0),
  577. List::cons(cmplx(1, 1),
  578. List::cons(cmplx(1, 0),
  579. List::cons(cmplx(1, 0),
  580. List::cons(cmplx(1, 1),
  581. List::cons(cmplx(0, 1),
  582. List::cons(cmplx(0, 1),
  583. List::cons(cmplx(0, 0),
  584. List::cons(cmplx(1, 0),
  585. List::cons(cmplx(0, 0),
  586. List::cons(cmplx(0, 1),
  587. List::cons(cmplx(1, 1),
  588. List::cons(cmplx(1, 0),
  589. List::cons(cmplx(0, 0),
  590. List::cons(cmplx(0, 0),
  591. List::cons(cmplx(0, 0),
  592. List::cons(cmplx(0, 1),
  593. List::cons(cmplx(0, 1),
  594. List::cons(cmplx(0, 1),
  595. List::cons(cmplx(0, 1),
  596. List::cons(cmplx(0, 0),
  597. List::cons(cmplx(0, 1),
  598. List::cons(cmplx(1, 1),
  599. List::cons(cmplx(1, 0),
  600. List::cons(cmplx(0, 0),
  601. List::cons(cmplx(0, 1),
  602. List::cons(cmplx(0, 1),
  603. List::cons(cmplx(1, 0),
  604. List::cons(cmplx(1, 1),
  605. List::cons(cmplx(0, 1),
  606. List::cons(cmplx(0, 0),
  607. List::cons(cmplx(1, 0),
  608. List::cons(cmplx(1, 0),
  609. List::cons(cmplx(1, 0),
  610. List::cons(cmplx(0, 0),
  611. List::cons(cmplx(0, 1),
  612. List::cons(cmplx(1, 1),
  613. List::cons(cmplx(1, 0),
  614. List::cons(cmplx(0, 0),
  615. List::cons(cmplx(0, 1),
  616. List::cons(cmplx(0, 1),
  617. List::cons(cmplx(0, 1),
  618. List::cons(cmplx(1, 1),
  619. List::cons(cmplx(0, 1),
  620. List::cons(cmplx(1, 0),
  621. List::cons(cmplx(1, 0),
  622. List::cons(cmplx(1, 1),
  623. List::cons(cmplx(1, 0),
  624. List::cons(cmplx(0, 0),
  625. List::cons(cmplx(1, 1),
  626. List::cons(cmplx(1, 0),
  627. List::cons(cmplx(0, 0),
  628. List::cons(cmplx(1, 0),
  629. List::cons(cmplx(0, 0),
  630. List::cons(cmplx(0, 1),
  631. List::cons(cmplx(0, 1),
  632. List::cons(cmplx(1, 1),
  633. List::cons(cmplx(1, 1),
  634. List::cons(cmplx(1, 1),
  635. List::cons(cmplx(0, 1),
  636. List::cons(cmplx(1, 1),
  637. List::cons(cmplx(1, 0),
  638. List::cons(cmplx(0, 1),
  639. List::cons(cmplx(0, 0),
  640. List::cons(cmplx(1, 1),
  641. List::cons(cmplx(0, 1),
  642. List::cons(cmplx(0, 0),
  643. List::cons(cmplx(1, 1),
  644. List::cons(cmplx(0, 1),
  645. List::cons(cmplx(0, 1),
  646. List::cons(cmplx(0, 0),
  647. List::cons(cmplx(1, 0),
  648. List::cons(cmplx(1, 0),
  649. List::cons(cmplx(1, 0),
  650. List::cons(cmplx(0, 0),
  651. List::cons(cmplx(1, 1),
  652. List::cons(cmplx(1, 0),
  653. List::cons(cmplx(1, 0),
  654. List::cons(cmplx(0, 1),
  655. List::cons(cmplx(0, 0),
  656. List::cons(cmplx(1, 0),
  657. List::cons(cmplx(1, 1),
  658. List::cons(cmplx(0, 1),
  659. List::cons(cmplx(0, 1),
  660. List::cons(cmplx(0, 0),
  661. List::cons(cmplx(1, 0),
  662. List::cons(cmplx(0, 0),
  663. List::cons(cmplx(0, 1),
  664. List::cons(cmplx(1, 1),
  665. List::cons(cmplx(0, 0),
  666. List::cons(cmplx(0, 0),
  667. List::cons(cmplx(0, 0),
  668. List::cons(cmplx(0, 1),
  669. List::cons(cmplx(0, 1),
  670. List::cons(cmplx(1, 0),
  671. List::cons(cmplx(1, 1),
  672. List::cons(cmplx(1, 0),
  673. List::cons(cmplx(1, 1),
  674. List::cons(cmplx(1, 1),
  675. List::cons(cmplx(1, 0),
  676. List::cons(cmplx(0, 1),
  677. List::cons(cmplx(0, 1),
  678. List::cons(cmplx(1, 0),
  679. List::cons(cmplx(1, 1),
  680. List::cons(cmplx(0, 1),
  681. List::cons(cmplx(0, 0),
  682. List::cons(cmplx(1, 0),
  683. List::cons(cmplx(1, 1),
  684. List::cons(cmplx(1, 1),
  685. List::cons(cmplx(0, 1),
  686. List::cons(cmplx(0, 1),
  687. List::cons(cmplx(1, 0),
  688. List::cons(cmplx(0, 0),
  689. List::cons(cmplx(0, 1),
  690. List::cons(cmplx(1, 0),
  691. List::cons(cmplx(1, 1),
  692. List::cons(cmplx(0, 1),
  693. List::cons(cmplx(0, 0),
  694. List::cons(cmplx(1, 1),
  695. List::cons(cmplx(0, 1),
  696. List::cons(cmplx(0, 1),
  697. List::cons(cmplx(0, 0),
  698. List::cons(cmplx(0, 0),
  699. List::cons(cmplx(1, 0),
  700. List::cons(cmplx(1, 0),
  701. List::cons(cmplx(0, 0),
  702. List::cons(cmplx(0, 1),
  703. List::cons(cmplx(1, 1),
  704. List::cons(cmplx(1, 0),
  705. List::cons(cmplx(1, 1),
  706. List::cons(cmplx(1, 0),
  707. List::cons(cmplx(1, 0),
  708. List::cons(cmplx(1, 1),
  709. List::cons(cmplx(0, 1),
  710. List::cons(cmplx(0, 1),
  711. List::cons(cmplx(0, 0),
  712. List::cons(cmplx(1, 0),
  713. List::cons(cmplx(0, 0),
  714. List::cons(cmplx(0, 1),
  715. List::cons(cmplx(1, 1),
  716. List::cons(cmplx(1, 0),
  717. List::cons(cmplx(0, 0),
  718. List::cons(cmplx(0, 0),
  719. List::cons(cmplx(0, 0),
  720. List::cons(cmplx(0, 1),
  721. List::cons(cmplx(0, 1),
  722. List::cons(cmplx(0, 1),
  723. List::cons(cmplx(0, 1),
  724. List::cons(cmplx(0, 0),
  725. List::cons(cmplx(0, 1),
  726. List::cons(cmplx(1, 1),
  727. List::cons(cmplx(1, 0),
  728. List::cons(cmplx(0, 0),
  729. List::cons(cmplx(0, 1),
  730. List::cons(cmplx(0, 1),
  731. List::cons(cmplx(1, 0),
  732. List::cons(cmplx(1, 1),
  733. List::cons(cmplx(0, 1),
  734. List::cons(cmplx(0, 0),
  735. List::cons(cmplx(1, 0),
  736. List::cons(cmplx(1, 0),
  737. List::cons(cmplx(1, 0),
  738. List::cons(cmplx(0, 0),
  739. List::cons(cmplx(0, 1),
  740. List::cons(cmplx(1, 1),
  741. List::cons(cmplx(1, 0),
  742. List::cons(cmplx(0, 0),
  743. List::cons(cmplx(0, 1),
  744. List::cons(cmplx(0, 1),
  745. List::cons(cmplx(0, 1),
  746. List::cons(cmplx(1, 1),
  747. List::cons(cmplx(0, 1),
  748. List::cons(cmplx(1, 0),
  749. List::cons(cmplx(1, 0),
  750. List::cons(cmplx(1, 1),
  751. List::cons(cmplx(1, 0),
  752. List::cons(cmplx(0, 0),
  753. List::cons(cmplx(1, 1),
  754. List::cons(cmplx(1, 0),
  755. List::cons(cmplx(0, 0),
  756. List::cons(cmplx(1, 0),
  757. List::cons(cmplx(0, 0),
  758. List::cons(cmplx(0, 1),
  759. List::cons(cmplx(0, 1),
  760. List::cons(cmplx(1, 1),
  761. List::cons(cmplx(1, 1),
  762. List::cons(cmplx(1, 1),
  763. List::cons(cmplx(0, 1),
  764. List::cons(cmplx(1, 1),
  765. List::cons(cmplx(1, 0),
  766. List::cons(cmplx(0, 1),
  767. List::cons(cmplx(0, 0),
  768. List::cons(cmplx(1, 1),
  769. List::cons(cmplx(0, 1),
  770. List::cons(cmplx(0, 0),
  771. List::cons(cmplx(1, 1),
  772. List::cons(cmplx(0, 1),
  773. List::cons(cmplx(0, 1),
  774. List::cons(cmplx(0, 0),
  775. List::cons(cmplx(1, 0),
  776. List::cons(cmplx(1, 0),
  777. List::cons(cmplx(1, 0),
  778. List::cons(cmplx(0, 0),
  779. List::cons(cmplx(1, 1),
  780. List::cons(cmplx(1, 0),
  781. List::cons(cmplx(1, 0),
  782. List::cons(cmplx(0, 1),
  783. List::cons(cmplx(0, 0),
  784. List::cons(cmplx(1, 0),
  785. List::cons(cmplx(1, 1),
  786. List::cons(cmplx(0, 1),
  787. List::cons(cmplx(0, 1),
  788. List::cons(cmplx(0, 0),
  789. List::cons(cmplx(1, 0),
  790. List::cons(cmplx(0, 0),
  791. List::cons(cmplx(0, 1),
  792. List::cons(cmplx(1, 1),
  793. List::cons(cmplx(0, 0),
  794. List::cons(cmplx(0, 0),
  795. List::cons(cmplx(0, 0),
  796. List::cons(cmplx(0, 1),
  797. List::cons(cmplx(0, 1),
  798. List::cons(cmplx(1, 0),
  799. List::cons(cmplx(1, 1),
  800. List::cons(cmplx(1, 0),
  801. List::cons(cmplx(1, 1),
  802. List::cons(cmplx(1, 1),
  803. List::cons(cmplx(1, 0),
  804. List::cons(cmplx(0, 1),
  805. List::cons(cmplx(0, 1),
  806. List::cons(cmplx(1, 0),
  807. List::cons(cmplx(1, 1),
  808. List::cons(cmplx(0, 1),
  809. List::cons(cmplx(0, 0),
  810. List::cons(cmplx(1, 0),
  811. List::cons(cmplx(1, 1),
  812. List::cons(cmplx(1, 1),
  813. List::cons(cmplx(0, 1),
  814. List::cons(cmplx(0, 1),
  815. List::cons(cmplx(1, 0),
  816. List::nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
  817. return tempV;
  818. endfunction
  819. // module to generate sample packet
  820. (* synthesize *)
  821. module mkPacket(RegFile#(Bit#(10), FPComplex#(2,14)));
  822. RegFile#(Bit#(10), FPComplex#(2,14)) regFile <- mkRegFileLoad("WiMAXPacket.txt",0,1023);
  823. return regFile;
  824. endmodule
  825. // module to generate sample packet
  826. (* synthesize *)
  827. module mkTweakedPacket(RegFile#(Bit#(10), FPComplex#(2,14)));
  828. RegFile#(Bit#(10), FPComplex#(2,14)) regFile <- mkRegFileLoad("WiMAXTweakedPacket.txt",0,1023);
  829. return regFile;
  830. endmodule