Моделирование устройств телекоммуникаций в системе matlab+simulink компьютерное моделирование


Реализация логических и арифметических операций



Download 0,82 Mb.
bet6/10
Sana10.06.2022
Hajmi0,82 Mb.
#652697
1   2   3   4   5   6   7   8   9   10
Bog'liq
simullink top

2. Реализация логических и арифметических операций
2.1. Подготовка к работе
По указанной литературе изучить:
- понятие прямого, обратного и дополнительного кодов;
- правила выполнения арифметических операций сложения, вычитания, умножения;
- объекты подбиблиотеки Logic and Bit Operations, Sinks, Sources, Signal Routing библиотеки Simulink.
2.2. Цель работы
Научиться выполнять арифметические операции с несколькими операндами и моделировать их.
2.3. Задание и порядок выполнения работы
1. Задания. Создать модель трехвходового (a, b, d) цифрового устройства, для реализации арифметических и логических операций с многоразрядными числами, заданными по варианту в табл. 2.1, с учетом и без учета их знака:
- представить числа +d и –d двоичными эквивалентами;
- выполнить над числами (a, b, d) и (a, b, –d) логические операции: И (AND), И-НЕ (NAND), ИЛИ (OR), ИЛИ-НЕ (NOR), исключающее ИЛИ (XOR);
- полученные результаты свести в таблицы, созданные в текстовом редакторе: первая для чисел a, b, d, вторая для чисел a, b, –d;
- выполнить над числами a, b, d арифметические операции: a + b, a – d, d – b;
- выполнить над числами арифметико-логическую операцию, заданную по варианту в табл. 2.1;
- проверить результаты выполненных логических и арифметических операций путем моделирования этих операций с использованием блоков Simulink;
- сравнить результаты моделирования с прогнозируемыми значениями;
- скопировать в отчет полученные модели и результаты проверки решения;
- сделать выводы по проделанной работе.
Таблица 2.1. Варианты и арифметико-логических операций.

Задания



a

b

d

Операции

логические

арифметические

арифметико-
логические

1

115

70

54

AND,
OR,
NAND, NOR,
XOR

a+b


a-d


d-b



2

120

69

48



3

73

125

53



4

82

118

59



5

112

110

39



6

99

113

45



7

117

76

41



8

125

83

55



9

79

116

43



10

81

113

37



11

114

98

46



12

86

111

52



13

109

73

56



14

95

121

47



15

103

84

59



16

89

125

44



2.4. Технология выполнения задания
1. С помощью встроенных функций MATLAB представьте взятые по варианту из табл. 2.1 три числа a, b и d двоичным эквивалентом. Для этого в режиме прямых вычислений в командной строке MATLAB введите числа, например, a=105, b=120, d=45:
>> dec2bin([105, 120, 45]) % преобразование десятичных
% чисел в двоичные эквиваленты
ans =
1101001
1111000
0101101
>> a=[0 1 1 0 1 0 0 1]; % двоичное число в виде вектора
>> b=[0 1 1 1 1 0 0 0];
>> d=[0 0 1 0 1 1 0 1];
2. В текстовом редакторе создайте таблицу, в которую внесите десятичные числа a, b и d их двоичные эквиваленты. Все числа должны быть одинаковой разрядности. У положительных чисел знак «+» кодируется 0, и он добавляется в качестве старшего разряда в двоичный эквивалент числа.
Число – d представить дополнительным кодом. Для этого:
- знак «–» кодируется 1 и добавляется в качестве старшего разряда в двоичный эквивалент числа,
- значащие разряды инвертируются по отношению к прямому коду,
- добавляется 1 в младший разряд двоичного эквивалента.

a10

b10

d10

a2

b2

+d2

d2

105

120

45

01101001

01111000

00101101

11010011

3. С помощью встроенные функции MATLAB (not(), and(), or(), xor()) произведите в режиме прямых вычислений логические операции в соответствии с вариантом над числами a2, b2 и d2 . Ожидаемые результаты:
>> or(a,or(b,d))
ans =
0 1 1 1 1 1 0 1
>> bin2dec(' 0 1 1 1 1 1 0 1 ')
ans =
125
>> not(or(a,or(b,d)))
ans =
1 0 0 0 0 0 1 0
>> bin2dec(' 1 0 0 0 0 0 1 0 ')
ans =
130
>> and(a,and(b,d))
ans =
0 0 1 0 1 0 0 0
>> bin2dec(' 0 0 1 0 1 0 0 0 ')
ans =
40
>> not(and(a,and(b,d)))
ans =
1 1 0 1 0 1 1 1
>> bin2dec(' 1 1 0 1 0 1 1 1 ')
ans =
215
>> xor(a,xor(b,d))
ans =
0 0 1 1 1 1 0 0
>> bin2dec(' 0 0 1 1 1 1 0 0 ')
ans =
60
>> a10=105;
>> b10=120;
>> d10=45;
>> a10+d10
ans =
150
>> dec2bin(150)
ans =
10010110
4. Результаты расчета над числами a, b, d без учета знака поместите в отчет в новую таблицу:
Таблица результатов расчета и моделирования чисел a, b, d

Операции с a, b, d 105, 120, 45

Ожидаемый результат

Результат моделирования

в двоичном коде

в десятичном коде

AND

00101000

40




NAND

11010111

215




OR

01111101

125




NOR

10000010

130




XOR

00111110

60




ADD(A,D)

10010110

150




5. Аналогично пп.3 и 4 выполнить расчет с числами a, b, –d (с учетом знака) и результат поместить в таблицу.
>> a=[0 1 1 0 1 0 0 1]; % двоичное число в виде вектора
>> b=[0 1 1 1 1 0 0 0];
>> d=[0 0 1 0 1 1 0 1]; % число +45
>> not(d)
ans =
1 1 0 1 0 0 1 0
>> dm=[1 1 0 1 0 0 1 1]; % число -45 в дополнительном коде
>> or(a,or(b,dm)) % ожидаемый результат дизъюнкции
% в дополнительном коде
ans =
1 1 1 1 1 0 1 1
% перевод из дополнительного кода в прямой
>> not([ 1 1 1 1 0 1 1]) % без учета знака
ans =
0 0 0 0 1 0 0
>> d=[1 0 0 0 0 1 0 0]+[0 0 0 0 0 0 0 1]
d =
1 0 0 0 0 1 0 1 % число -5
bin2dec(' 0 0 0 0 1 0 1') % без учета знака
ans =
5
Аналогичные вычисления и с другими операциями.
Таблица результатов расчета и моделирования чисел a, b, –d

Операции с a, b, d 105, 120, -45

Ожидаемый результат

Результат моделирования

в двоичном коде

в десятичном коде

AND

01000000

64




NAND

10111111

-65




OR

11111011

-5




NOR

00000100

4




XOR

11000010

-62




ADD(A,D)

00111100

60




6. В Simulink создайте модель устройства (рис. 2.1), выполняющего заданные логические и арифметические операции. В таблице 2.2 указаны названия блоков, папки в которых находятся нужные блоки для моделирования и параметры блоков, которые нужно изменить.

Рис. 2.1. Модель устройства, выполняющего арифметические и логические операции над числами без знака.
Таблица 2.2. Значения параметров блоков моделирования

Название и назначение блоков

Размещение в браузере

Параметры блоков

Источнки: Constant1,2,3

Simulink / Sources

Constant value //значения для a, b, d из табл. 2.1.

Устройство объединения: Mux

Simulink / Signal Routing

Number of inputs 3 // количество объединяемых входов

Блок преобразова-ния типов Data Type Conversion

Simulink / Commonly Used Blocs

Output data type значения: uint8 для чисел без знака, int8 для чисел со знаком

Логический блок Bitwise Operator

Simulink / Logic and Bit Operations

Operator: AND, OR, NAND, NOR, XOR //поочередно

Математический блок Add

Simulink/ Math Operations

По умолчанию

Регистраторы: Display, Display1

Simulink/Sinks

По умолчанию

7. Установите для каждого блока соответствующие свойства. Окна параметров блоков приведены на рис. 1.2 и 1.3.
Для решения Задания используются следующие блоки.
Блок Mux (мультиплексор) – объединяет входные сигналы в вектор. Количество входов устанавливается в окне параметры блока (рис. 2.2).

Рис. 2.2. Окно установки параметров блока Mux
Блок Bitwise Logical Operator – поразрядный логический оператор реализует одну из базовых логических операций по отношению к данным в формате uint/int. Количество входов и вид операции устанавливается в окне параметры блока (рис. 2.3).

Рис. 2.3. Окно установки параметров блока Bitwise Operator
Входными сигналами блока могут быть беззнаковые переменные типа uint8, uint16, uint32, или переменные со знаком («+» 0 и «–» 1) типа int8, int16, int32. Если оба операнда векторы, то операции выполняются поэлементно, при этом размерность операндов должны совпадать. Размерность выходного сигнала определяется размерностью вектора (или массива) входного сигнала.
Блок Data Type Conversion преобразует десятичное число типа double в 8-разрядное целое число типа uint (без знака) или int (с учетом знака). Тип преобразуемого числа устанавливается в окне параметры блока (рис. 2.4).

Рис. 2.4. Окно установки параметров блока Data Type Conversion
Блок математических операций Add служит для вычисления суммы или разности текущих значений сигналов. Вид арифметического действия и количество входов устанавливаются в списке обозначений (List of signs) окна параметры блока (рис. 2.5). Например, ++ (два входа и операция сложения) или +- (два входа и операция вычитания).

Рис. 2.5. Окно установки параметров блока ADD
8. Сохраните модель в своей папке и запустите на исполнение. Результаты вычислений отобразятся в дисплее (рис. 2.1). Скопируйте модель в отчет.
9. Внесите изменение в модель и выполните аналогичные действия (п.п. 6-8) с заданными числами a, b, -d (рис. 2.6).

Рис. 2.6. Модель устройства, выполняющего арифметические и логические операции над числами со знаком



Download 0,82 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish