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

LABA2_PROG

.docx
Скачиваний:
10
Добавлен:
27.05.2023
Размер:
24.41 Кб
Скачать

Федеральное агентство связи

ордена Трудового Красного Знамени

Федеральное государственное

бюджетное образовательное учреждение высшего образования Московский технический университет связи и информатики

Лабораторная работа №2

«Генерация сложных сигналов»

Выполнил:

студент группы БРТ2102

Епифанов Георгий

Проверил:

Кандауров Николай

Москва 2023

Цель: Составить программу для генерации сложного сигнала, состоящего из четырех частей, каждая длиной 64 отсчета. Записать в текстовый файл отсчеты сложного сигнала (256 отсчетов).

Дано:

CONST GTI COS PILA

CONST : A = 3.12;

GTI : T = 12 отсчетов; Ширина 6 отсчетов;

COS : A = 1; f = 11 400 Гц; Fs = 48 кГц;

A*cos(2*pi*f*i/Fs)

PILA : A = 1; T = 12 отсчетов;

#define _USE_MATH_DEFINES

#include <iostream>

#include <fstream>

#include <cmath>

using namespace std;

void write_ToFile(float* cord, int N)

{

ofstream write;

write.open("H:\\XFILE.txt");

for (int i = 0; i < N; i++)

{

write << cord[i] << endl;

}

write.close();

}

int main()

{

/*

CONST GTI COS PILA

cos = S(t) = A*cos(2*pi*f*i/Fs)

K=6 N=12

CONST : A = 3.12;

GTI : T = 12 отсчетов; Ширина 6 отсчетов;

COS : A = 1; f = 11 400 Гц; Fs = 48 кГц;

PILA : A = 1; T = 12 отсчетов;

*/

setlocale(LC_ALL, "Russian");

std::cout << "Cигнал сгенерирован. Проверьте файл!\n";

float MASS_DATA[256];

double FREQ_SAMPLING = 48000.0;

double COS_FREQ = 11400;

double CCconst = 3.12;

int Tpila = 0;

for (int i = 0; i < 64; ++i) // 1) цикл констаанты (CONST)

{

MASS_DATA[i] = float(CCconst);

}

MASS_DATA[64] = 1;

for (int i = 64; i < 128; i+=12) // 2) цикл импульса (GTI)

{

for (int j = 0; j < 6; j++)

{

MASS_DATA[i + j] = 1;

}

for (int j = 6; j < 12; j++)

{

MASS_DATA[i + j] = 0;

}

}

for (int i = 128; i < 192; ++i) // 3) цикл косинуса (СOS)

{

MASS_DATA[i] = cos(float(2 * M_PI * i * COS_FREQ / FREQ_SAMPLING));

}

MASS_DATA[192] = 0;

for (int i = 193; i < 256; ++i) // 4) цикл пилы (PILA)

{

MASS_DATA[i] = MASS_DATA[i - 1] + float(1.0 / 12.0);

if (MASS_DATA[i] > 1)

{

MASS_DATA[i + 1] = 0.0;

i++;

}

}

write_ToFile(MASS_DATA, 256);

}

XFILE.txt result

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

3.12

1

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

-0.809018

-0.649453

0.707107

0.760411

-0.587785

-0.852636

0.45399

0.923877

-0.309016

-0.972369

0.156433

0.996917

2.65024e-06

-0.996918

-0.156438

0.972371

0.309021

-0.923881

-0.453995

0.852642

0.58779

-0.760407

-0.707111

0.649449

0.809021

-0.522499

-0.89101

0.382683

0.951054

-0.233444

-0.987687

0.0784575

1

0.0784614

-0.987689

-0.233448

0.951058

0.382687

-0.891008

-0.522502

0.809019

0.649452

-0.707108

-0.76041

0.587786

0.852644

-0.453978

-0.923876

0.309017

0.972372

-0.156449

-0.996917

-1.22763e-06

0.996917

0.156421

-0.972371

-0.309019

0.923876

0.45398

-0.852642

-0.587788

0.760398

0.707099

-0.64945

0

0.0833333

0.166667

0.25

0.333333

0.416667

0.5

0.583333

0.666667

0.75

0.833333

0.916667

1

1.08333

0

0.0833333

0.166667

0.25

0.333333

0.416667

0.5

0.583333

0.666667

0.75

0.833333

0.916667

1

1.08333

0

0.0833333

0.166667

0.25

0.333333

0.416667

0.5

0.583333

0.666667

0.75

0.833333

0.916667

1

1.08333

0

0.0833333

0.166667

0.25

0.333333

0.416667

0.5

0.583333

0.666667

0.75

0.833333

0.916667

1

1.08333

0

0.0833333

0.166667

0.25

0.333333

0.416667

0.5

0.583333

Соседние файлы в предмете Программирование на C++