Форум программистов, компьютерный форум, киберфорум
Наши страницы
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
vadimSetkin
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 19
1

Фильтрация сигнала

16.09.2018, 22:16. Просмотров 129. Ответов 0

Доброго времени суток. Получил задание следующего вида:

Исходные данные:
Сигнал, записанный в некоторой полосе частот.
Формат записи - IQ 16 бит на отсчет.


Задание:
Разработать программу, которая позволит:
1) Отобразить спектр мощности сигнала в относительной полосе ( -0.5, 0.5 ). Количество точек FFT - мимнимум 32768.
2) По отображению спектра на графике произвести примерное измерение несущей частоты одного из сигналов(их там два, вы увидите).
3) Произвести перенос одного из сигналов на примерную нулевую частоту согласно измеренной отстройке.
4) Произвести цифровую фильтрацию снесенного сигнала с помощью ФНЧ( КИХ-фильтр, порядок не менее 30 ). Полосу берите примерную, главное - "загасить" соседний сигнал.
5) Сохранить отфильтрованный сигнал в файл в том же формате.


С первыми 3 пунктами я вроде бы справился. Ниже прикрепляю код Матлаба и соответствующие графики:
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
clear all
close all
%Чтение из файла
lenFile= 134217728;
lenSignal = 33554432;
tmp = zeros(1, lenFile);
I = zeros(1,lenSignal );
Q = zeros(1,lenSignal );
Signal_l = zeros(1,lenSignal );
fid = fopen('FILE','r');
tmp = fread(fid, lenFile/2,  'int16');
fclose(fid)
I = tmp(1:2:end-1);
Q = tmp(2:2:end);
Signal_l = I + 1i*Q;
 
%Частотная и временная оси
freqs = [-1/2:1/length(Signal_l):1/2-1/length(Signal_l)];
time = [0:1:length(Signal_l)-1];
 
%Построение спектра
S = (fft(Signal_l));
SPM = abs(S).^2/length(S);
plot(freqs,SPM )
figure
 
%Перенос на нулевую частоту
freqShift = 0.4417;
exponenta = exp(-2*pi*1i*freqShift*time);
Signal2 = Signal_l.*exponenta';
 
%Спектр перенесенного
S2 = fft(Signal2);
SPM1 = abs(S2).^2/length(S2);
plot(freqs,SPM1 )
figure
Спектр сигнала, прочитанного из файла:
Фильтрация сигнала

Спектр сигнала, сдвинутого на нулевую частоту:
Фильтрация сигнала


Хотел бы поинтересоваться, насколько правильно я выполнил первые 3 пункта. Меня смущает то, что не задана частота дискретизации, из-за чего не уверен, что я правильно осуществил перенос. И правильно ли я задал частотную и временную оси?
Ну и главный вопрос: как делать фильтрацию? В мыслях открыть FDATool, задать параметры фильтра, затем сохранить к-нты фильтра в workspace, и далее функцией filter осуществить фильтрацию. Вот только ломаю голову, как в FDATool правильно выбрать полосу пропускания, так как там можно выбирать диапазон либо в Герцах, либо в единицах нормированной частоты (от 0 до 1).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2018, 22:16
Ответы с готовыми решениями:

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

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

Фильтрация затухающего сигнала.
Есть затухающий сигнал записанный с частотой семплирования 4000Hz, длительность записи составляет...

Фильтрация зашумленого сигнала
Приятного времени суток, :) Записываю с микрофона, и в записи постоянно присутствуют какие-то...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2018, 22:16

Фильтрация отраженного сигнала с задержкой
Всем доброго времени суток. Задача передо мной стоит следующая: есть сигнал записанный семплами...

Фильтрация сигнала в частотной области
Здравствуйте! Не могу понять для себя один вопрос, буду очень благодарна, если поможете...

Избавиться от шума (фильтрация сигнала)
Доброго времени суток. Помогите пожалуйста с такой задачкой: с прибора по Com-порту приходит...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru