1 /****************************************************************************** 2 * @file window_functions.h 3 * @brief Public header file for CMSIS DSP Library 4 * @version v1.15.0 5 * @date 15 December 2022 6 * Target Processor: Cortex-M and Cortex-A cores 7 ******************************************************************************/ 8 /* 9 * Copyright (c) 2010-2022 Arm Limited or its affiliates. All rights reserved. 10 * 11 * SPDX-License-Identifier: Apache-2.0 12 * 13 * Licensed under the Apache License, Version 2.0 (the License); you may 14 * not use this file except in compliance with the License. 15 * You may obtain a copy of the License at 16 * 17 * www.apache.org/licenses/LICENSE-2.0 18 * 19 * Unless required by applicable law or agreed to in writing, software 20 * distributed under the License is distributed on an AS IS BASIS, WITHOUT 21 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 * See the License for the specific language governing permissions and 23 * limitations under the License. 24 */ 25 26 27 #ifndef WINDOW_FUNCTIONS_H_ 28 #define WINDOW_FUNCTIONS_H_ 29 30 #include "arm_math_types.h" 31 #include "arm_math_memory.h" 32 33 #include "dsp/none.h" 34 #include "dsp/utils.h" 35 36 37 #ifdef __cplusplus 38 extern "C" 39 { 40 #endif 41 42 /** 43 * @defgroup groupWindow Window Functions 44 */ 45 46 /** 47 * @brief Welch window (double). 48 * @param[out] pDst points to the output generated window 49 * @param[in] blockSize number of samples in the window 50 * 51 * @par Parameters of the window 52 * 53 * | Parameter | Value | 54 * | ------------------------------------: | -----------------: | 55 * | Peak sidelobe level | 21.3 dB | 56 * | Normalized equivalent noise bandwidth | 1.2 bins | 57 * | Flatness | -2.2248 dB | 58 * | Recommended overlap | 29.3 % | 59 * 60 */ 61 void arm_welch_f64( 62 float64_t * pDst, 63 uint32_t blockSize); 64 65 /** 66 * @brief Welch window (float). 67 * @param[out] pDst points to the output generated window 68 * @param[in] blockSize number of samples in the window 69 * 70 * @par Parameters of the window 71 * 72 * | Parameter | Value | 73 * | ------------------------------------: | -----------------: | 74 * | Peak sidelobe level | 21.3 dB | 75 * | Normalized equivalent noise bandwidth | 1.2 bins | 76 * | Flatness | -2.2248 dB | 77 * | Recommended overlap | 29.3 % | 78 * 79 * 80 */ 81 void arm_welch_f32( 82 float32_t * pDst, 83 uint32_t blockSize); 84 /** 85 * @brief Bartlett window (double). 86 * @param[out] pDst points to the output generated window 87 * @param[in] blockSize number of samples in the window 88 * 89 * @par Parameters of the window 90 * 91 * | Parameter | Value | 92 * | ------------------------------------: | -----------------: | 93 * | Peak sidelobe level | 26.5 dB | 94 * | Normalized equivalent noise bandwidth | 1.3333 bins | 95 * | Flatness | -1.8242 dB | 96 * | Recommended overlap | 50.0 % | 97 * 98 */ 99 void arm_bartlett_f64( 100 float64_t * pDst, 101 uint32_t blockSize); 102 103 /** 104 * @brief Bartlett window (float). 105 * @param[out] pDst points to the output generated window 106 * @param[in] blockSize number of samples in the window 107 * 108 * @par Parameters of the window 109 * 110 * | Parameter | Value | 111 * | ------------------------------------: | -----------------: | 112 * | Peak sidelobe level | 26.5 dB | 113 * | Normalized equivalent noise bandwidth | 1.3333 bins | 114 * | Flatness | -1.8242 dB | 115 * | Recommended overlap | 50.0 % | 116 * 117 * 118 */ 119 void arm_bartlett_f32( 120 float32_t * pDst, 121 uint32_t blockSize); 122 /** 123 * @brief Hamming window (double). 124 * @param[out] pDst points to the output generated window 125 * @param[in] blockSize number of samples in the window 126 * 127 * @par Parameters of the window 128 * 129 * | Parameter | Value | 130 * | ------------------------------------: | -----------------: | 131 * | Peak sidelobe level | 42.7 dB | 132 * | Normalized equivalent noise bandwidth | 1.3628 bins | 133 * | Flatness | -1.7514 dB | 134 * | Recommended overlap | 50 % | 135 * 136 */ 137 void arm_hamming_f64( 138 float64_t * pDst, 139 uint32_t blockSize); 140 141 /** 142 * @brief Hamming window (float). 143 * @param[out] pDst points to the output generated window 144 * @param[in] blockSize number of samples in the window 145 * 146 * @par Parameters of the window 147 * 148 * | Parameter | Value | 149 * | ------------------------------------: | -----------------: | 150 * | Peak sidelobe level | 42.7 dB | 151 * | Normalized equivalent noise bandwidth | 1.3628 bins | 152 * | Flatness | -1.7514 dB | 153 * | Recommended overlap | 50 % | 154 * 155 * 156 */ 157 void arm_hamming_f32( 158 float32_t * pDst, 159 uint32_t blockSize); 160 /** 161 * @brief Hanning window (double). 162 * @param[out] pDst points to the output generated window 163 * @param[in] blockSize number of samples in the window 164 * 165 * @par Parameters of the window 166 * 167 * | Parameter | Value | 168 * | ------------------------------------: | -----------------: | 169 * | Peak sidelobe level | 31.5 dB | 170 * | Normalized equivalent noise bandwidth | 1.5 bins | 171 * | Flatness | -1.4236 dB | 172 * | Recommended overlap | 50 % | 173 * 174 */ 175 void arm_hanning_f64( 176 float64_t * pDst, 177 uint32_t blockSize); 178 179 /** 180 * @brief Hanning window (float). 181 * @param[out] pDst points to the output generated window 182 * @param[in] blockSize number of samples in the window 183 * 184 * @par Parameters of the window 185 * 186 * | Parameter | Value | 187 * | ------------------------------------: | -----------------: | 188 * | Peak sidelobe level | 31.5 dB | 189 * | Normalized equivalent noise bandwidth | 1.5 bins | 190 * | Flatness | -1.4236 dB | 191 * | Recommended overlap | 50 % | 192 * 193 * 194 */ 195 void arm_hanning_f32( 196 float32_t * pDst, 197 uint32_t blockSize); 198 /** 199 * @brief Nuttall3 window (double). 200 * @param[out] pDst points to the output generated window 201 * @param[in] blockSize number of samples in the window 202 * 203 * @par Parameters of the window 204 * 205 * | Parameter | Value | 206 * | ------------------------------------: | -----------------: | 207 * | Peak sidelobe level | 46.7 dB | 208 * | Normalized equivalent noise bandwidth | 1.9444 bins | 209 * | Flatness | -0.863 dB | 210 * | Recommended overlap | 64.7 % | 211 * 212 */ 213 void arm_nuttall3_f64( 214 float64_t * pDst, 215 uint32_t blockSize); 216 217 /** 218 * @brief Nuttall3 window (float). 219 * @param[out] pDst points to the output generated window 220 * @param[in] blockSize number of samples in the window 221 * 222 * @par Parameters of the window 223 * 224 * | Parameter | Value | 225 * | ------------------------------------: | -----------------: | 226 * | Peak sidelobe level | 46.7 dB | 227 * | Normalized equivalent noise bandwidth | 1.9444 bins | 228 * | Flatness | -0.863 dB | 229 * | Recommended overlap | 64.7 % | 230 * 231 * 232 */ 233 void arm_nuttall3_f32( 234 float32_t * pDst, 235 uint32_t blockSize); 236 /** 237 * @brief Nuttall4 window (double). 238 * @param[out] pDst points to the output generated window 239 * @param[in] blockSize number of samples in the window 240 * 241 * @par Parameters of the window 242 * 243 * | Parameter | Value | 244 * | ------------------------------------: | -----------------: | 245 * | Peak sidelobe level | 60.9 dB | 246 * | Normalized equivalent noise bandwidth | 2.31 bins | 247 * | Flatness | -0.6184 dB | 248 * | Recommended overlap | 70.5 % | 249 * 250 */ 251 void arm_nuttall4_f64( 252 float64_t * pDst, 253 uint32_t blockSize); 254 255 /** 256 * @brief Nuttall4 window (float). 257 * @param[out] pDst points to the output generated window 258 * @param[in] blockSize number of samples in the window 259 * 260 * @par Parameters of the window 261 * 262 * | Parameter | Value | 263 * | ------------------------------------: | -----------------: | 264 * | Peak sidelobe level | 60.9 dB | 265 * | Normalized equivalent noise bandwidth | 2.31 bins | 266 * | Flatness | -0.6184 dB | 267 * | Recommended overlap | 70.5 % | 268 * 269 * 270 */ 271 void arm_nuttall4_f32( 272 float32_t * pDst, 273 uint32_t blockSize); 274 /** 275 * @brief Nuttall3a window (double). 276 * @param[out] pDst points to the output generated window 277 * @param[in] blockSize number of samples in the window 278 * 279 * @par Parameters of the window 280 * 281 * | Parameter | Value | 282 * | ------------------------------------: | -----------------: | 283 * | Peak sidelobe level | 64.2 dB | 284 * | Normalized equivalent noise bandwidth | 1.7721 bins | 285 * | Flatness | -1.0453 dB | 286 * | Recommended overlap | 61.2 % | 287 * 288 */ 289 void arm_nuttall3a_f64( 290 float64_t * pDst, 291 uint32_t blockSize); 292 293 /** 294 * @brief Nuttall3a window (float). 295 * @param[out] pDst points to the output generated window 296 * @param[in] blockSize number of samples in the window 297 * 298 * @par Parameters of the window 299 * 300 * | Parameter | Value | 301 * | ------------------------------------: | -----------------: | 302 * | Peak sidelobe level | 64.2 dB | 303 * | Normalized equivalent noise bandwidth | 1.7721 bins | 304 * | Flatness | -1.0453 dB | 305 * | Recommended overlap | 61.2 % | 306 * 307 * 308 */ 309 void arm_nuttall3a_f32( 310 float32_t * pDst, 311 uint32_t blockSize); 312 /** 313 * @brief Nuttall3b window (double). 314 * @param[out] pDst points to the output generated window 315 * @param[in] blockSize number of samples in the window 316 * 317 * @par Parameters of the window 318 * 319 * | Parameter | Value | 320 * | ------------------------------------: | -----------------: | 321 * | Peak sidelobe level | 71.5 dB | 322 * | Normalized equivalent noise bandwidth | 1.7037 bins | 323 * | Flatness | -1.1352 dB | 324 * | Recommended overlap | 59.8 % | 325 * 326 */ 327 void arm_nuttall3b_f64( 328 float64_t * pDst, 329 uint32_t blockSize); 330 331 /** 332 * @brief Nuttall3b window (float). 333 * @param[out] pDst points to the output generated window 334 * @param[in] blockSize number of samples in the window 335 * 336 * @par Parameters of the window 337 * 338 * | Parameter | Value | 339 * | ------------------------------------: | -----------------: | 340 * | Peak sidelobe level | 71.5 dB | 341 * | Normalized equivalent noise bandwidth | 1.7037 bins | 342 * | Flatness | -1.1352 dB | 343 * | Recommended overlap | 59.8 % | 344 * 345 * 346 */ 347 void arm_nuttall3b_f32( 348 float32_t * pDst, 349 uint32_t blockSize); 350 /** 351 * @brief Nuttall4a window (double). 352 * @param[out] pDst points to the output generated window 353 * @param[in] blockSize number of samples in the window 354 * 355 * @par Parameters of the window 356 * 357 * | Parameter | Value | 358 * | ------------------------------------: | -----------------: | 359 * | Peak sidelobe level | 82.6 dB | 360 * | Normalized equivalent noise bandwidth | 2.1253 bins | 361 * | Flatness | -0.7321 dB | 362 * | Recommended overlap | 68.0 % | 363 * 364 */ 365 void arm_nuttall4a_f64( 366 float64_t * pDst, 367 uint32_t blockSize); 368 369 /** 370 * @brief Nuttall4a window (float). 371 * @param[out] pDst points to the output generated window 372 * @param[in] blockSize number of samples in the window 373 * 374 * @par Parameters of the window 375 * 376 * | Parameter | Value | 377 * | ------------------------------------: | -----------------: | 378 * | Peak sidelobe level | 82.6 dB | 379 * | Normalized equivalent noise bandwidth | 2.1253 bins | 380 * | Flatness | -0.7321 dB | 381 * | Recommended overlap | 68.0 % | 382 * 383 * 384 */ 385 void arm_nuttall4a_f32( 386 float32_t * pDst, 387 uint32_t blockSize); 388 /** 389 * @brief 92 db blackman harris window (double). 390 * @param[out] pDst points to the output generated window 391 * @param[in] blockSize number of samples in the window 392 * 393 * @par Parameters of the window 394 * 395 * | Parameter | Value | 396 * | ------------------------------------: | -----------------: | 397 * | Peak sidelobe level | 92.0 dB | 398 * | Normalized equivalent noise bandwidth | 2.0044 bins | 399 * | Flatness | -0.8256 dB | 400 * | Recommended overlap | 66.1 % | 401 * 402 */ 403 void arm_blackman_harris_92db_f64( 404 float64_t * pDst, 405 uint32_t blockSize); 406 407 /** 408 * @brief 92 db blackman harris window (float). 409 * @param[out] pDst points to the output generated window 410 * @param[in] blockSize number of samples in the window 411 * 412 * @par Parameters of the window 413 * 414 * | Parameter | Value | 415 * | ------------------------------------: | -----------------: | 416 * | Peak sidelobe level | 92.0 dB | 417 * | Normalized equivalent noise bandwidth | 2.0044 bins | 418 * | Flatness | -0.8256 dB | 419 * | Recommended overlap | 66.1 % | 420 * 421 * 422 */ 423 void arm_blackman_harris_92db_f32( 424 float32_t * pDst, 425 uint32_t blockSize); 426 /** 427 * @brief Nuttall4b window (double). 428 * @param[out] pDst points to the output generated window 429 * @param[in] blockSize number of samples in the window 430 * 431 * @par Parameters of the window 432 * 433 * | Parameter | Value | 434 * | ------------------------------------: | -----------------: | 435 * | Peak sidelobe level | 93.3 dB | 436 * | Normalized equivalent noise bandwidth | 2.0212 bins | 437 * | Flatness | -0.8118 dB | 438 * | Recommended overlap | 66.3 % | 439 * 440 */ 441 void arm_nuttall4b_f64( 442 float64_t * pDst, 443 uint32_t blockSize); 444 445 /** 446 * @brief Nuttall4b window (float). 447 * @param[out] pDst points to the output generated window 448 * @param[in] blockSize number of samples in the window 449 * 450 * @par Parameters of the window 451 * 452 * | Parameter | Value | 453 * | ------------------------------------: | -----------------: | 454 * | Peak sidelobe level | 93.3 dB | 455 * | Normalized equivalent noise bandwidth | 2.0212 bins | 456 * | Flatness | -0.8118 dB | 457 * | Recommended overlap | 66.3 % | 458 * 459 * 460 */ 461 void arm_nuttall4b_f32( 462 float32_t * pDst, 463 uint32_t blockSize); 464 /** 465 * @brief Nuttall4c window (double). 466 * @param[out] pDst points to the output generated window 467 * @param[in] blockSize number of samples in the window 468 * 469 * @par Parameters of the window 470 * 471 * | Parameter | Value | 472 * | ------------------------------------: | -----------------: | 473 * | Peak sidelobe level | 98.1 dB | 474 * | Normalized equivalent noise bandwidth | 1.9761 bins | 475 * | Flatness | -0.8506 dB | 476 * | Recommended overlap | 65.6 % | 477 * 478 */ 479 void arm_nuttall4c_f64( 480 float64_t * pDst, 481 uint32_t blockSize); 482 483 /** 484 * @brief Nuttall4c window (float). 485 * @param[out] pDst points to the output generated window 486 * @param[in] blockSize number of samples in the window 487 * 488 * @par Parameters of the window 489 * 490 * | Parameter | Value | 491 * | ------------------------------------: | -----------------: | 492 * | Peak sidelobe level | 98.1 dB | 493 * | Normalized equivalent noise bandwidth | 1.9761 bins | 494 * | Flatness | -0.8506 dB | 495 * | Recommended overlap | 65.6 % | 496 * 497 * 498 */ 499 void arm_nuttall4c_f32( 500 float32_t * pDst, 501 uint32_t blockSize); 502 /** 503 * @brief Hft90d window (double). 504 * @param[out] pDst points to the output generated window 505 * @param[in] blockSize number of samples in the window 506 * 507 * @par Parameters of the window 508 * 509 * | Parameter | Value | 510 * | ------------------------------------: | -----------------: | 511 * | Peak sidelobe level | 90.2 dB | 512 * | Normalized equivalent noise bandwidth | 3.8832 bins | 513 * | Flatness | -0.0039 dB | 514 * | Recommended overlap | 76.0 % | 515 * 516 */ 517 void arm_hft90d_f64( 518 float64_t * pDst, 519 uint32_t blockSize); 520 521 /** 522 * @brief Hft90d window (float). 523 * @param[out] pDst points to the output generated window 524 * @param[in] blockSize number of samples in the window 525 * 526 * @par Parameters of the window 527 * 528 * | Parameter | Value | 529 * | ------------------------------------: | -----------------: | 530 * | Peak sidelobe level | 90.2 dB | 531 * | Normalized equivalent noise bandwidth | 3.8832 bins | 532 * | Flatness | -0.0039 dB | 533 * | Recommended overlap | 76.0 % | 534 * 535 * 536 */ 537 void arm_hft90d_f32( 538 float32_t * pDst, 539 uint32_t blockSize); 540 /** 541 * @brief Hft95 window (double). 542 * @param[out] pDst points to the output generated window 543 * @param[in] blockSize number of samples in the window 544 * 545 * @par Parameters of the window 546 * 547 * | Parameter | Value | 548 * | ------------------------------------: | -----------------: | 549 * | Peak sidelobe level | 95.0 dB | 550 * | Normalized equivalent noise bandwidth | 3.8112 bins | 551 * | Flatness | 0.0044 dB | 552 * | Recommended overlap | 75.6 % | 553 * 554 */ 555 void arm_hft95_f64( 556 float64_t * pDst, 557 uint32_t blockSize); 558 559 /** 560 * @brief Hft95 window (float). 561 * @param[out] pDst points to the output generated window 562 * @param[in] blockSize number of samples in the window 563 * 564 * @par Parameters of the window 565 * 566 * | Parameter | Value | 567 * | ------------------------------------: | -----------------: | 568 * | Peak sidelobe level | 95.0 dB | 569 * | Normalized equivalent noise bandwidth | 3.8112 bins | 570 * | Flatness | 0.0044 dB | 571 * | Recommended overlap | 75.6 % | 572 * 573 * 574 */ 575 void arm_hft95_f32( 576 float32_t * pDst, 577 uint32_t blockSize); 578 /** 579 * @brief Hft116d window (double). 580 * @param[out] pDst points to the output generated window 581 * @param[in] blockSize number of samples in the window 582 * 583 * @par Parameters of the window 584 * 585 * | Parameter | Value | 586 * | ------------------------------------: | -----------------: | 587 * | Peak sidelobe level | 116.8 dB | 588 * | Normalized equivalent noise bandwidth | 4.2186 bins | 589 * | Flatness | -0.0028 dB | 590 * | Recommended overlap | 78.2 % | 591 * 592 */ 593 void arm_hft116d_f64( 594 float64_t * pDst, 595 uint32_t blockSize); 596 597 /** 598 * @brief Hft116d window (float). 599 * @param[out] pDst points to the output generated window 600 * @param[in] blockSize number of samples in the window 601 * 602 * @par Parameters of the window 603 * 604 * | Parameter | Value | 605 * | ------------------------------------: | -----------------: | 606 * | Peak sidelobe level | 116.8 dB | 607 * | Normalized equivalent noise bandwidth | 4.2186 bins | 608 * | Flatness | -0.0028 dB | 609 * | Recommended overlap | 78.2 % | 610 * 611 * 612 */ 613 void arm_hft116d_f32( 614 float32_t * pDst, 615 uint32_t blockSize); 616 /** 617 * @brief Hft144d window (double). 618 * @param[out] pDst points to the output generated window 619 * @param[in] blockSize number of samples in the window 620 * 621 * @par Parameters of the window 622 * 623 * | Parameter | Value | 624 * | ------------------------------------: | -----------------: | 625 * | Peak sidelobe level | 144.1 dB | 626 * | Normalized equivalent noise bandwidth | 4.5386 bins | 627 * | Flatness | 0.0021 dB | 628 * | Recommended overlap | 79.9 % | 629 * 630 */ 631 void arm_hft144d_f64( 632 float64_t * pDst, 633 uint32_t blockSize); 634 635 /** 636 * @brief Hft144d window (float). 637 * @param[out] pDst points to the output generated window 638 * @param[in] blockSize number of samples in the window 639 * 640 * @par Parameters of the window 641 * 642 * | Parameter | Value | 643 * | ------------------------------------: | -----------------: | 644 * | Peak sidelobe level | 144.1 dB | 645 * | Normalized equivalent noise bandwidth | 4.5386 bins | 646 * | Flatness | 0.0021 dB | 647 * | Recommended overlap | 79.9 % | 648 * 649 * 650 */ 651 void arm_hft144d_f32( 652 float32_t * pDst, 653 uint32_t blockSize); 654 /** 655 * @brief Hft169d window (double). 656 * @param[out] pDst points to the output generated window 657 * @param[in] blockSize number of samples in the window 658 * 659 * @par Parameters of the window 660 * 661 * | Parameter | Value | 662 * | ------------------------------------: | -----------------: | 663 * | Peak sidelobe level | 169.5 dB | 664 * | Normalized equivalent noise bandwidth | 4.8347 bins | 665 * | Flatness | 0.0017 dB | 666 * | Recommended overlap | 81.2 % | 667 * 668 */ 669 void arm_hft169d_f64( 670 float64_t * pDst, 671 uint32_t blockSize); 672 673 /** 674 * @brief Hft169d window (float). 675 * @param[out] pDst points to the output generated window 676 * @param[in] blockSize number of samples in the window 677 * 678 * @par Parameters of the window 679 * 680 * | Parameter | Value | 681 * | ------------------------------------: | -----------------: | 682 * | Peak sidelobe level | 169.5 dB | 683 * | Normalized equivalent noise bandwidth | 4.8347 bins | 684 * | Flatness | 0.0017 dB | 685 * | Recommended overlap | 81.2 % | 686 * 687 * 688 */ 689 void arm_hft169d_f32( 690 float32_t * pDst, 691 uint32_t blockSize); 692 /** 693 * @brief Hft196d window (double). 694 * @param[out] pDst points to the output generated window 695 * @param[in] blockSize number of samples in the window 696 * 697 * @par Parameters of the window 698 * 699 * | Parameter | Value | 700 * | ------------------------------------: | -----------------: | 701 * | Peak sidelobe level | 196.2 dB | 702 * | Normalized equivalent noise bandwidth | 5.1134 bins | 703 * | Flatness | 0.0013 dB | 704 * | Recommended overlap | 82.3 % | 705 * 706 */ 707 void arm_hft196d_f64( 708 float64_t * pDst, 709 uint32_t blockSize); 710 711 /** 712 * @brief Hft196d window (float). 713 * @param[out] pDst points to the output generated window 714 * @param[in] blockSize number of samples in the window 715 * 716 * @par Parameters of the window 717 * 718 * | Parameter | Value | 719 * | ------------------------------------: | -----------------: | 720 * | Peak sidelobe level | 196.2 dB | 721 * | Normalized equivalent noise bandwidth | 5.1134 bins | 722 * | Flatness | 0.0013 dB | 723 * | Recommended overlap | 82.3 % | 724 * 725 * 726 */ 727 void arm_hft196d_f32( 728 float32_t * pDst, 729 uint32_t blockSize); 730 /** 731 * @brief Hft223d window (double). 732 * @param[out] pDst points to the output generated window 733 * @param[in] blockSize number of samples in the window 734 * 735 * @par Parameters of the window 736 * 737 * | Parameter | Value | 738 * | ------------------------------------: | -----------------: | 739 * | Peak sidelobe level | 223.0 dB | 740 * | Normalized equivalent noise bandwidth | 5.3888 bins | 741 * | Flatness | 0.0011 dB | 742 * | Recommended overlap | 83.3 % | 743 * 744 */ 745 void arm_hft223d_f64( 746 float64_t * pDst, 747 uint32_t blockSize); 748 749 /** 750 * @brief Hft223d window (float). 751 * @param[out] pDst points to the output generated window 752 * @param[in] blockSize number of samples in the window 753 * 754 * @par Parameters of the window 755 * 756 * | Parameter | Value | 757 * | ------------------------------------: | -----------------: | 758 * | Peak sidelobe level | 223.0 dB | 759 * | Normalized equivalent noise bandwidth | 5.3888 bins | 760 * | Flatness | 0.0011 dB | 761 * | Recommended overlap | 83.3 % | 762 * 763 * 764 */ 765 void arm_hft223d_f32( 766 float32_t * pDst, 767 uint32_t blockSize); 768 /** 769 * @brief Hft248d window (double). 770 * @param[out] pDst points to the output generated window 771 * @param[in] blockSize number of samples in the window 772 * 773 * @par Parameters of the window 774 * 775 * | Parameter | Value | 776 * | ------------------------------------: | -----------------: | 777 * | Peak sidelobe level | 248.4 dB | 778 * | Normalized equivalent noise bandwidth | 5.6512 bins | 779 * | Flatness | 0.0009 dB | 780 * | Recommended overlap | 84.1 % | 781 * 782 */ 783 void arm_hft248d_f64( 784 float64_t * pDst, 785 uint32_t blockSize); 786 787 /** 788 * @brief Hft248d window (float). 789 * @param[out] pDst points to the output generated window 790 * @param[in] blockSize number of samples in the window 791 * 792 * @par Parameters of the window 793 * 794 * | Parameter | Value | 795 * | ------------------------------------: | -----------------: | 796 * | Peak sidelobe level | 248.4 dB | 797 * | Normalized equivalent noise bandwidth | 5.6512 bins | 798 * | Flatness | 0.0009 dB | 799 * | Recommended overlap | 84.1 % | 800 * 801 * 802 */ 803 void arm_hft248d_f32( 804 float32_t * pDst, 805 uint32_t blockSize); 806 807 808 #ifdef __cplusplus 809 } 810 #endif 811 812 #endif /* ifndef _BASIC_MATH_FUNCTIONS_H_ */ 813