Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/46: Рейтинг темы: голосов - 46, средняя оценка - 4.85
1 / 1 / 0
Регистрация: 19.04.2013
Сообщений: 93

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

11.11.2013, 11:20. Показов 10066. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Есть такая задача - даны два сигнала. Обычные сигналы синуса по времени. Нужно построить их взаимный спектр. Это у меня получилось. А вот дальше нужно получить такой же результат путем нахождения взаимо корреляционной функции этих сигналов и преобразования Фурье над ней. Почему-то результаты не сходятся, а по теории должны. В чем ошибка? Заранее спасибо (код приведен ниже)
Matlab M
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
              
%% начальные данные и сигнал
clear;
t=0:0.000008:0.0004; %0.000000001
sigma_1=0;
sigma_2=0;
omega_1=50000;
omega_2=50000;    %400мкс   250мкс  53мкс-задержка
 
 
tz=0.000053;
a1=sin(2*pi*omega_2*t);
a2=sin(2*pi*omega_2*(t-tz)); 
y1=a1.*(t>0.00002 & t<0.00027)+sigma_2*rand(size(t));
y2=a2.*(t>0.00002+tz & t<0.00027+tz)+sigma_2*rand(size(t));
 
Fd=125000;% Частота дискретизации (Гц)
Epsilon=8000;% Область максимума
Ff=64;% Количество линий Фурье спектра  65536
Fe=Fd/Ff;  
 
subplot(5,1,1);
plot(y1);
subplot(5,1,2);
plot(y2);
 
%% Построение и анимация взаимокорреляции
C=0; j=1; k=1;
 
y3=xcorr(y1,y2);
  [C1,j1] = max(y3);
 
subplot(5,1,3);
plot(y3);
 
 F=0:Fd/Ff:Fd/2-1/Ff;% Массив частот вычисляемого спектра Фурье
 
FftS1=fft(y1,Ff);% Амплитуды преобразования Фурье сигнала
FftS2=fft(y2,Ff);% Амплитуды преобразования Фурье сигнала
FftS=FftS1.*conj(FftS2);
FftSc=2*abs(FftS)./Ff;
FftSh=unwrap(angle(FftS));
[C,i] = max(FftSc);
i=ceil(50000/Fe);
 
subplot(5,1,4);
plot(F(max(1,i-Epsilon):min(length(F),i+Epsilon)),...
        FftSc(max(1,i-Epsilon):min(length(F),i+Epsilon)),'-r',...
        F(i),FftSc(i),'ko');
subplot(5,1,5);
plot(F(max(1,i-Epsilon):min(length(F),i+Epsilon)),...
        FftSh(max(1,i-Epsilon):min(length(F),i+Epsilon)),'-r',...
        F(i),FftSh(i),'ko');
 
  
a1=diff(FftSh((i-1):(i+1)));
mean(a1)/(2*pi*Fe)
 
figure;
subplot(2,1,1);
plot(y1);
subplot(2,1,2);
plot(y2);
 
%% БПФ ФВК
Epsilon=100; Ff=128;
F=0:Fd/Ff:Fd/2-1/Ff;% Массив частот вычисляемого спектра Фурье
FfVk1=fft(y3,Ff);
FfVk=conj(FfVk1);
FfSc=2*abs(FfVk)./Ff;
FfSh=unwrap(angle(FfVk));
Fe=Fd/Ff; 
i=ceil(50000/Fe);
 
figure;
subplot(2,1,1);
plot(F(max(1,i-Epsilon):min(length(F),i+Epsilon)),...
        FfSc(max(1,i-Epsilon):min(length(F),i+Epsilon)));
subplot(2,1,2);
plot(F(max(1,i-Epsilon):min(length(F),i+Epsilon)),...
        FfSh(max(1,i-Epsilon):min(length(F),i+Epsilon)));
 
a2=diff(FfSh((i-2):(i+1)));
mean(a2)/(2*pi*Fe)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2013, 11:20
Ответы с готовыми решениями:

Быстрое преобразование Фурье
Всем привет очень нужна помощь. Есть на выбор несколько сигналов (функций) нужно разложить одну на выбор в быстр. преобр. Фурье ,найти...

Быстрое преобразование Фурье функции синуса
Здравствуйте Пытаюсь разобраться с БПФ на простом примере Есть функция sin частота 10гц амплитуда 1 понятно что спектр будет как на...

Быстрое преобразование фурье сигнала из файла *.mat
Есть файл в котором расположено ЭКГ пациента, нужно из етого файла получить БПФ я только начал изучать Matlab и рпи написание кода выходит...

20
1 / 1 / 0
Регистрация: 19.04.2013
Сообщений: 93
13.11.2013, 15:07  [ТС]
Студворк — интернет-сервис помощи студентам
Это уже идея и есть). Спасибо). Значит будем по-другому мучиться)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2013, 15:07

Быстрое преобразование Фурье. Нужно определить частоты и амплитуды сигналов.
Здравствуйте, Уважаемые. Нужна ваша помощь. Нужно определить частоты и амплитуды сигналов. Из исходных данных лишь точки некоторой...

Быстрое преобразование Фурье (как быть если частота дискретизации 1/3600 )
Всем доброго времени суток! Опишу в кратце поставленную задачу: есть БД(база данных).в нее поступают данные с датчика,данные числовые,а...

Быстрое вейвлет-преобразование
Добрый день, программисты и математики! Возник небольшой вопрос по быстрому вейвлет - преобразованию. А именно, преобразование Хаара....

Преобразование Фурье
Здравствуйте! Помогите пожалуйста разобраться с преобразованием Фурье и получить &quot;адекватное&quot; АЧХ. clear all% Очистка памяти ...

Преобразование Фурье
Здравствуйте. Подскажите, для того чтобы корректно вывести частотный спектр сигнала, его частота дискретизации должна быть больше частоты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru