Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 3 / 2008-03-27-19-32-Ольга-3

.doc
Скачиваний:
38
Добавлен:
01.05.2014
Размер:
337.41 Кб
Скачать

Дискретизация и модуляция сигналов

  1. Дискретизация сигналов

Создаем синусоидальный сигнал с частотой 10, частотой дискретизации 100 и строим его спектр.

dt = 0.01; % шаг дискретизации

t=0:dt:1-dt;

N=length(t); % частота дискретизации

F1 = 10;

f=(1:N);

x=sin(2*pi*F1*t);

X=fft(x); % спектр сигнала

figure(1);

subplot(2,1,1),plot(t,x);

subplot(2,1,2),bar(f,abs(X)),grid;

Частота дискретизации равна 1/dt = 100

Первая составляющая спектра на 11 месте вместо 10 из-за существования постоянной (нулевой составляющей)

На спектре помимо частоты сигнала существует еще разностная частота, соответствующая разности частот дискретизации и частотой сигнала (на 91 месте)

Создаем сигнал из двух синусоид с разными амплитудами и частотами и строим его спектр.

figure(2);

F2=30;

x=sin(2*pi*F1*t)+0.3*sin(2*pi*F2*t); % наложение двух синусоид

X=fft(x); % спектр сигнала

subplot(2,1,1),plot(t,x);

subplot(2,1,2),bar(f,abs(X)),grid;

2 первых столбика на спектре - соответствуют частотам сигналов 10 и 30 на 11 и 31

местах, 2 вторых столбика соответствуют разности частоты дискретизации и

частот сигнала на 71 и 91 местах.

Создаем несколько сигналов с разными амплитудами и частотами, меняем шаг дискретизации

dt = 1/90;

t=0:dt:1-dt;

N=length(t);

f1 = 2;f3 = 6;f5=10;

x1=sin(2*pi*f1*t); % сигналы с частотам 2, 6 и 10

x2 = 1/3*sin(2*pi*f3*t);

x3 = 1/5*sin(2*pi*f5*t);

f=(1:N);

figure(50);

subplot(2,2,1),plot(t,x1),title('x1'),grid;

subplot(2,2,2),plot(t,x2),title('x2'),grid;

subplot(2,2,3),plot(t,x3),title('x3'),grid;

x=x1+x2+x3; y=x1+x2; z=x2+x3; w=x1+x3; % комбинации из сигналов х1, х2 и х3

figure(51);

subplot(2,2,1),plot(t,x),title('x'),grid;

subplot(2,2,2),plot(t,z),title('z'),grid;

subplot(2,2,3),plot(t,w),title('w'),grid;

subplot(2,2,4),plot(t,y),title('y'),grid;

X=fft(x);Y=fft(y);Z=fft(z);W=fft(w); %спектры сигналов

% столбики соответствующие частотам 2, 6, 10 на 3, 7 и 11 месте

% и с частотами равными разности частоты дискретизации и данных частот

% на местах 90-10+1=81,90-6+1=85,90-2+1=89

% высоты столбиков соотносятся как амплитуды синусоид 1:1/3:1/5

figure(52);

subplot(2,2,1),bar(f,abs(X)),grid,title('spectr X');

subplot(2,2,2),bar(f,abs(Y)),grid,title('spectr Y');

subplot(2,2,3),bar(f,abs(Z)),grid,title('spectr Z');

subplot(2,2,4),bar(f,abs(W)),grid,title('spectr W');

  1. Модуляция сигналов

Рассмотрим амплитудную модуляцию сигналов (изменение по периодическому закону амплитуды гармонических колебаний с меньшей частотой, чем частота самих колебаний).

figure(4);

m=1/15*sin(2*pi*15*t); % модулируемый сигнал высокой частоты(несущая частота)

x=x1.*m;

z=x2.*m; % модуляция сигнала m сигналами х1,х2,х3 с частотами 2, 6 и 10

y=x3.*m; % х1,х2,х3 – модулирующие сигналы, огибающие синусоиды

X=fft(x); Y=fft(y); Z=fft(z); f=(1:N);

на спектрах столбики с частотами сигналов - спектр Х: 2+15=17, 15-2=13; спектр Z: 15+6=21, 15-6=9; спектр Y: 10+15=25, 15-10=5; и разностными частотами

subplot(3,2,1),plot(t,x),grid,title('x');

subplot(3,2,2),bar(f,abs(X)),grid,title('spectr X');

subplot(3,2,3),plot(t,z),grid,title('z');

subplot(3,2,4),bar(f,abs(Z)),grid,title('spectr Z');

subplot(3,2,5),plot(t,y),grid,title('y');

subplot(3,2,6),bar(f,abs(Y)),grid,title('spectr Y');

3. Импульсная функция

Создаем импульсную функцию и строим ее амплитудный и фазовый спектры

figure(5);

N=100;

x=zeros(1,N);

x(10) = 1;

S=abs(fft(x));

f = angle(fft(x));

subplot(3,1,1),bar(x);hold on;

subplot(3,1,2),stem(S),title('spectr'),grid;

subplot(3,1,3),stem(f),title('phase'),grid;

Фазовые спектры

Изменение фазового спектра при увеличении числа импульсов от 1 до 11.

Сначала от i=1 до i=50 количество лепестков растет и достигает максимума при i= 50, затем от 50 до 100 снижается до прежнего уровня и изображение спектра х(i=100) является зеркальным отражением (справа налево) изображения спектра х(i=1).

fig_num = 10;

for i = 1:10:N

x=zeros(1,N);

x(i) = 1;

figure(fig_num);

fig_num = fig_num+1;

plot( angle(fft(x)));grid; hold on;

end;

при i = 1 (1 импульс) при i = 10 (2 импульса)

при i = 50 (6 импульсов) при i = 100 (11 импульсов)

Амплитудные спектры

Изменение амплитудного спектра при увеличении длины прямоугольного импульса.

Количество лепестков амплитудного спектра пропорционально длине импульса( при длине 2 - 2 лепестка, при длине 10 - 10 лепестков)

fig_num = 21;

x=zeros(1,N);

figure(fig_num);

for i = 1:10

x(1:i) = 1;

figure(fig_num);

fig_num = fig_num+1;

plot( abs(fft(x)));grid;hold on;

end;

при i = 1 (1 импульс) при i = 2 (2 импульса)

при i = 5 (5 лепестков спектра) при i = 10 (10 лепестков)

Функция вида sin(x)/x.

Прямоугольному импульсу соответствует спектральная функция вида sin(w)/w (исходя из предыдущего примера), а сигнал sin(t)/t имеет прямоугольный спектр (свойство симметрии преобразования Фурье).

Функция вида sin(pi*x)/(pi*x) реализуется функцией sinc(f).

f=-50:49; % вектор частот для спектра

k=0.1;

s=sinc(k*f); % импульс вида sin(t)/t

S=fft(s); % спектр сигнала

figure(60);

subplot(1,2,1),plot(t,s),grid;

subplot(1,2,2),plot(abs(S)),grid;

Окна.

Matlab содержит целый ряд стандартных весовых функций, которые в качестве параметра принимают требуемую длину вектора и возвращают вектор-столбец w. Амплитудный спектр весовой функции соответствует частотной характеристике нулевого канала ДПФ при использовании данной весовой функции. Рассмотрим несколько окон.

  1. Прямоугольное окно: соответствует отсутствию взвешивания, возвращает единичный вектор.

  2. Окно Бартлетта: реализуется функцией Bartlett, по сути является треугольным, но имеет некоторые отличия от треугольного окна.

  3. Косинусные окна:

    1. Окно Ханна: реализуется функцией hanning.

    2. Окно Хэмминга: реализуется функцией hamming.

s1=s.*(hanning(100))';

s2=s.*(hamming(100))';

s3=s.*(bartlett(100))';

[h,w]=freqz(s); % амплитудно-частотная характеристика

[h1,w1]=freqz(s1);

[h2,w2]=freqz(s2);

[h3,w3]=freqz(s3);

Графики АЧХ полученных с использованием окон:

subplot(2,2,1),plot(w,20*log10(abs(h))),grid,ylim([-80 45]),xlim([0 2]),title('rectangle');

subplot(2,2,2),plot(w1,20*log10(abs(h1))),grid,ylim([-80 45]),xlim([0 2]),title('hanning');

subplot(2,2,3),plot(w2,20*log10(abs(h2))),grid,ylim([-80 45]),xlim([0 2]),title('hamming');

subplot(2,2,4),plot(w3,20*log10(abs(h3))),grid,ylim([-80 45]),xlim([0 2]),title('bartlett');

Существуют дефекты преобразования Фурье:

появление боковых лепестков, растекание энергии, наложение соседних каналов.

При использовании временных окон амплитуда боковых лепестков уменьшается.

При использовании окна Ханна и Хэмминга уровень падает на 43,9 и 53,8 Дб соответственно. При использовании окна Бартлетта АЧХ фильтра не имеет боковых лепестков и спадает монотонно.

figure(6);

dt = 0.01;

t=0:dt:1-dt;

N=length(t);

F = 10; F1 = F;

% Использование прямоугольного временного окна.

COUNT=100; % число циклов

N = 10;

k = 15; % 15 номер канала частоты

for i=1:COUNT

x=sin(2*pi*F1*t); % сигнал меняющейся частоты

F1=F+i/N; % изменение частоты от10 до 20 на 0.1 на каждом шаге

S = abs(fft(x)); % амплитудный спектр сигнала

O(i)= S(k); % запоминаем составляющие спектра соответствующие 15 каналу

end;

plot(O);hold on;

clear O;

F1 = F;

% Использование окон Ханна, Хэмминга и Бартлетта

for i=1:COUNT

F1=F+i/N;

x=sin(2*pi*F1*t);

h = x.*(hanning(100))';

h1= x.*(hamming(100))';

h2= x.*(bartlett(100))';

S = abs(fft(h));

S1 = abs(fft(h1));

S2 = abs(fft(h2));

O(i) = S(k);

O1(i) =S1(k);

O2(i)=S2(k);

end;

plot(O,'r'),;hold on;

plot(O1,'b.');hold on;

plot(O2,'b--'); legend('S(15)','hanning','hamming','bartlett');

Наименьший уровень боковых лепестков получается с использованием окна Хэмминга; наибольший с использованием окна Бартлетта, однако частота пульсации боковых лепестков здесь меньше; при использовании окна Ханна амплитуда боковых лепестков быстро убывает.