|
Окна БПФ |
|
|
|
 |
Ответов
|
Oct 4 2013, 11:59
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Сделал, что мог. Использую Matlab. Окна по умолчанию получаются симметричными, что мне нравится. Результат расчетов выводится в файл, который включу в проект. Только запятую лишнюю в конце каждого массива нужно удалить. Код FFT_N = 8; WindHann = hann(FFT_N); WindHamm = hamming(FFT_N); WindBart = bartlett(FFT_N);
fid = fopen('FFT_Windows.h', 'w');
fprintf(fid, '/* Hann Window */\n'); fprintf(fid, 'static const float WindHann[] = {\n'); fprintf(fid, ' %E, %E, %E, %E,\n', WindHann); fprintf(fid, '};\n\n');
fprintf(fid, '/* Hamming Window */\n'); fprintf(fid, 'static const float WindHamm[] = {\n'); fprintf(fid, ' %E, %E, %E, %E,\n', WindHamm); fprintf(fid, '};\n\n');
fprintf(fid, '/* Bartlett Window */\n'); fprintf(fid, 'static const float WindBart[] = {\n'); fprintf(fid, ' %E, %E, %E, %E,\n', WindBart); fprintf(fid, '};\n\n');
fclose(fid);
|
|
|
|
|
Oct 4 2013, 13:27
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Можно отказаться от правильного использования MATLAB и сделать явный цикл по выводу каждого элемента массива или в строку нескольких элементов. И проверку на открытие файлов лучше делать. Рабочий порезаный пример вывода: CODE clc clear
DataLength = 64;
fdirstr = 'C:\\tmp\\'; filestr = 'data'; fileextstr = '.h';
datafname = strcat(fdirstr,filestr,fileextstr); [fid1,message] = fopen(datafname,'w'); if fid1 == -1 errordlg(message,'FILE OPEN ERROR'); else fprintf(fid1,'/***********************************************************/'); fprintf(fid1,'\n/* Date: %s*/',datestr(now,0)); fprintf(fid1,'\n/***********************************************************/\n'); str = strcat(filestr,'_H_'); fprintf(fid1,'\n#ifndef %s',upper(str)); fprintf(fid1,'\n#define %s\n',upper(str));
fprintf(fid1,'\nconst uint32_t data[%i] = \n\t{',DataLength); for i=1:DataLength % здесь вывод того, что требуется, для примера поэлементно. fprintf(fid1,'\n\t\t0x%04X',i); % немного сложнее будет с расчетом необходимых индексов и форматом при выводе нескольких элементов массива в одной строке if i ~= DataLength fprintf(fid1,','); end end fprintf(fid1,'\n\t};\n\n'); fprintf(fid1,'#endif /* %s */\n',upper(str)); end
if fid1 ~= -1 status = fclose(fid1); if status == -1 errstr = strcat('Can not close file: ',datafname); errordlg(errstr,'FILE CLOSE ERROR'); end end
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
Сообщений в этой теме
ViKo Окна БПФ Oct 2 2013, 12:55 ivan219 Я так думаю что вот так -> 0 1 2 3 4 3 2 1 или ... Oct 2 2013, 13:16 ViKo Вот здесь что-то пишут, но не могу понять, что.
... Oct 2 2013, 13:53 SemperAnte На ноль умножать и не надо.
Для этих целей всегда... Oct 3 2013, 06:59 V_G 2 ViKo:
Вам точно нужно именно БПФ? Дело в том, чт... Oct 3 2013, 07:19 thermit ЦитатаV_G:
Дело в том, что БПФ становится "бы... Oct 3 2013, 08:14 ViKo БПФ быстрее ДПФ. 8 точек - это только для примера.... Oct 3 2013, 09:12 SemperAnte Вот готовая формула, которую использует Матлаб, д... Oct 3 2013, 11:32 Alex11 По поводу коэффициента при использовании окна. там... Oct 3 2013, 15:59 Ruslan1 Я вот такое использую. Коэффициент альфа и форму о... Oct 3 2013, 19:57 ViKo Цитата(ViKo @ Oct 4 2013, 14:59) Сделал, ... Jan 22 2014, 09:58 AndrewN QUOTE (ViKo @ Oct 2 2013, 15:55) Трегольн... Oct 6 2013, 07:26 ViKo Цитата(AndrewN @ Oct 6 2013, 10:26) Оконн... Oct 6 2013, 08:01  AndrewN QUOTE (ViKo @ Oct 6 2013, 12:01) Все окон... Oct 6 2013, 09:08 ViKo Окна имеют коэффициент ослабления, показывающий, в... Oct 15 2013, 21:02 petrov Цитата(ViKo @ Oct 16 2013, 01:02) Окна им... Oct 16 2013, 09:18  ViKo Цитата(petrov @ Oct 16 2013, 12:18) Хотит... Oct 16 2013, 11:30   petrov Цитата(ViKo @ Oct 16 2013, 15:30) У меня ... Oct 16 2013, 11:45 Alex11 Чтобы получать правильный ответ с окнами, нужно бр... Oct 17 2013, 15:33 Tiro Маленькое примечание. Есть некоторые методические ... Oct 17 2013, 21:59 ViKo Я именно на целом количестве периодов и эксперимен... Oct 18 2013, 10:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|