Форум программистов, компьютерный форум, киберфорум
Наши страницы

Быстрое преобразование Фурье - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написан код который выводит матрицу .Нужно протранспонировать ее http://www.cyberforum.ru/cpp-beginners/thread826503.html
Написан код который выводит матрицу .Нужно протранспонировать ее. #include <iostream> #include<stdlib.h> #include<time.h> #define maximum 100 using namespace std;
C++ Часто встречающаяся ошибка начинающих наборщиков — дважды записанное слово. В заданном текстовом файле обнаружить и исправить такие ошибки в тексте Часто встречающаяся ошибка начинающих наборщиков — дважды записанное слово. В заданном текстовом файле обнаружить и исправить такие ошибки в тексте. Отформатированный текст записать в другой файл.... http://www.cyberforum.ru/cpp-beginners/thread826502.html
Include rus C++
const int N = 66; const char DosABC = "*ЎўЈ¤Ґс¦§Ё©Є«¬*®Їабвгдежзийклмноп" "ЂЃ‚ѓ„…р†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—˜™љ›њќћџ"; const char WinABC = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"...
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы C++
Нарисуйте пожалуста блок схему атор кода Olga_ #include <stdio.h> #include <string.h> #include <ctype.h> #define GLAS "AEIOUYaeiouy" int PrintWords(char *fileName) {
C++ Конкатенация + int в строку + открытие множества файлов http://www.cyberforum.ru/cpp-beginners/thread826490.html
Заводил тему, но удовлетворительного ответа не получил. Вот что получилось: #include "stdafx.h" #include <iostream> #include <fstream> #include <string> using namespace std;
C++ 1. Вызов функции 2. Размер массива Уважаемые форумчане! случился баттхерт с ниже перечисленными вопросами, помогите пожалуйста! 1. void swap(void *v, int i, int j) { void *temp; temp = v; v = v; v =... подробнее

Показать сообщение отдельно
King Of Kings
7 / 7 / 3
Регистрация: 08.02.2013
Сообщений: 42

Быстрое преобразование Фурье - C++

03.04.2013, 00:52. Просмотров 1814. Ответов 1
Метки (Все метки)

Это пример на сайте wikipedia Быстрого Преобразование Фурье.
Два вопроса.

1)Как получить массив анализируемых данных для wav файла.
2)Как получить массив анализируемых данных для захвата звука с микрофона.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// AVal - массив анализируемых данных, Nvl - длина массива должна быть кратна степени 2.
// FTvl - массив полученных значений, Nft - длина массива должна быть равна Nvl.
 
const double TwoPi = 6.283185307179586;
 
void FFTAnalysis(double *AVal, double *FTvl, int Nvl, int Nft) {
  int i, j, n, m, Mmax, Istp;
  double Tmpr, Tmpi, Wtmp, Theta;
  double Wpr, Wpi, Wr, Wi;
  double *Tmvl;
 
  n = Nvl * 2; Tmvl = new double[n];
 
  for (i = 0; i < Nvl; i++) {
    j = i * 2; Tmvl[j] = 0; Tmvl[j+1] = AVal[i];
  }
 
  i = 1; j = 1;
  while (i < n) {
    if (j > i) {
      Tmpr = Tmvl[i]; Tmvl[i] = Tmvl[j]; Tmvl[j] = Tmpr;
      Tmpr = Tmvl[i+1]; Tmvl[i+1] = Tmvl[j+1]; Tmvl[j+1] = Tmpr;
    }
    i = i + 2; m = Nvl;
    while ((m >= 2) && (j > m)) {
      j = j - m; m = m >> 1;
    }
    j = j + m;
  }
 
  Mmax = 2;
  while (n > Mmax) {
    Theta = -TwoPi / Mmax; Wpi = Sin(Theta);
    Wtmp = Sin(Theta / 2); Wpr = Wtmp * Wtmp * 2;
    Istp = Mmax * 2; Wr = 1; Wi = 0; m = 1;
 
    while (m < Mmax) {
      i = m; m = m + 2; Tmpr = Wr; Tmpi = Wi;
      Wr = Wr - Tmpr * Wpr - Tmpi * Wpi;
      Wi = Wi + Tmpr * Wpi - Tmpi * Wpr;
 
      while (i < n) {
        j = i + Mmax;
        Tmpr = Wr * Tmvl[j] - Wi * Tmvl[j-1];
        Tmpi = Wi * Tmvl[j] + Wr * Tmvl[j-1];
 
        Tmvl[j] = Tmvl[i] - Tmpr; Tmvl[j-1] = Tmvl[i-1] - Tmpi;
        Tmvl[i] = Tmvl[i] + Tmpr; Tmvl[i-1] = Tmvl[i-1] + Tmpi;
        i = i + Istp;
      }
    }
 
    Mmax = Istp;
  }
 
  for (i = 0; i < Nft; i++) {
    j = i * 2; FTvl[Nft - i - 1] = Sqrt(Sqr(Tmvl[j]) + Sqr(Tmvl[j+1]));
  }
 
  delete []Tmvl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.