báo cáo về chuyển đổi máy tính thành dao động ký số hai kênh
Trang 1CHUYỂN ĐỔI MÁY TÍNH THÀNH DAO ĐỘNG KÝ SỐ HAI KÊNH Nguyễn Trường An, Phạm Thị Thu Phương, Huỳnh Hữu Thuận, Nguyễn Hữu Phương
Trường Đại học Khoa học Tự nhiên, ĐHQG – HCM
(Bài nhận ngày 01 tháng 12 năm 2005, hoàn chỉnh sửa chữa ngày 16 tháng 05 năm 2006)
TÓM TẮT: Dao động ký hai kênh (Two-channel oscilloscope) là thiết bị đo điện tử quan trọng và phổ biến, nó hiển thị dạng sóng và một số đặc tính khác của các tín hiệu Có hai loại dao động ký: tương tự và số Dao động ký số ưu việt hơn loại tương tự nhưng ít phổ biến vì giá cao Bài báo trình bày cách thức chuyển đổi máy tính PC thành dao động ký số hai kênh, gồm phần cứng là mạch thu nhận dữ liệu tự thiết kế và phần mềm là tập nhiều chương trình viết
1 GIỚI THIỆU
Dao động ký hai kênh (Two-channel oscilloscope) là thiết bị rất cần thiết và khá phổ biến trong các phòng thí nghiệm điện tử và các phòng thí nghiệm khác Nhưng dao động ký số hai kênh ít phổ biến hơn vì giá cao dù có nhiều ưu điểm, đặc biệt là khả năng đo, lưu trữ và xử lý
dữ liệu Mặt khác máy tính PC đã sẵn có khả năng cao về xử lý, lưu trữ và hiển thị Do đó vấn
đề là thiết kế mạch thu nhận dữ liệu (DAQ) giao tiếp với máy tính và trang bị các phần mềm cần thiết Đã có nhiều card DAQ và phần mềm như vậy, điển hình nhất có lẽ là thiết bị và phần mềm LabView của hãng National Instruments (Mỹ) Ở đây, để giảm giá thành xuống mức thấp nhất chúng tôi tự nghiên cứu phát triển phần cứng và phần mềm
Phần còn lại của bài báo như sau Mục 2: Thu nhận dữ liệu, mục 3: Hiển thị dạng sóng và
dữ liệu đo, mục 4: Tính toán tham số của tín hiệu, mục 5: Phân tích tần phổ, mục 6: Lưu trữ dữ liệu, và mục 7: Kết luận Do giới hạn không gian nên nhiều giải thuật chương trình và hình minh họa bị bỏ bớt nhiều
2 THU NHẬN DỮ LIỆU
Hình 1 là sơ đồ khối trình bày nguyên lý của card thu nhận dữ liệu (DAQ) để chuyển đổi máy tính thành dao động ký số hai kênh Việc giao tiếp thực hiện qua bus ISA
Hình 1: Sơ đồ khối nguyên lý của card thu nhận dữ liệu
Vi
Kênh A
Phân tầm và lọc
AD
Vi điều khiển kênh
A
Bộ đệm
B U
S
I
S A
Dữ liệu
Giải mã địa chỉ
Địa chỉ
Vi
Kênh B
Phân tầm và lọc
AD
Vi điều khiển kênh B
Bộ đệm
Dữ liệu
Trang 22.1 Mô tả mạch
Đầu tiên, tín hiệu vào ở kênh A hoặc B sẽ đến mạch phân tầm tự động (autoranging), phân
ra các tầm đo khác nhau và qua lọc thông thấp Mạch phân tầm là mạch khuếch đại có độ lợi thay đổi tùy theo khoảng biên độ tín hiệu vào Việc này là cần thiết để tăng độ phân giải trong lúc phải phù hợp với độ dài dữ liệu Biên độ tín hiệu vào Vi được phân thành 3 tầm khác nhau như sau:
Tín hiệu ra khỏi mạch phân tầm sẽ qua mạch lọc thông thấp Butterworth bậc 5 Sau mạch lọc là mạch cộng để cộng thêm vào tín hiệu điện áp DC 2,5 Volt (gọi mạch chuyển mức điện áp một chiều – DC level shifter), lý do là mạch chuyển đổi tương tự – sang số (ADC) AD7875 thuộc loại có điện áp vào đơn cực 0 – 5V
Sau đó, tín hiệu ngõ ra sẽ được AD7875 chuyển đổi sang số, đây là mạch 12 bit, tốc độ 100 kS/s và, đặc biệt, đã tích hợp mạch Track-and-Hold AD7875 được điều khiển bởi vi điều khiển AT89C2051 Dữ liệu ra cùng với mã số phân tầm (2 bit) và bit trạng thái từ vi điều khiển được đưa đến bộ đệm để vào máy tính qua bus ISA Bộ giải mã địa chỉ xác định địa chỉ cho các bộ đệm, đây là địa chỉ đọc dữ liệu
Hình 2a và 2b là sơ đồ mạch đầy đủ
2.2 Phần mềm giao tiếp
Trước khi vào chương trình, phần mềm yêu cầu xác nhận đã có phần cứng gắn vào bus ISA chưa Nếu đã có phần cứng thì bấm OK để vào chương trình chính
Trang 3C2 220p 1 2
+5V
R20 1k 2 1
AGND
AGND
GAINA1
C3 1n 1 2
U3B
74LS393 13 11
9 14 7 A CLR QA QD VCC GND CHANNEL B
VrefClock
GAINA1
-U6B TL084 5 7
C19 2.2n 1 2
R29 20k 2 1
+12V
DGND
R54 RESISTOR VAR
1 3
R24 680k 2
1 AGND
GAINB2
C20 270p 1 2
LOW-PASS FILTER
R13
20k
2
1
C14 220p 1 2 AGND
C46 1n
1 2
-12V
R47 1M 2 1
+12V
-12V
C18 1n 1 2
R10 10k 2 1
+5V
AGND
-U6D TL084 12 14
R16 1k 2 1
C37 1n
1 2
R6 20k 2
-U6C TL084 10 9 8
R3 20k 2 1
-12V
R23 1M 2 1
R1 680k 2
1
AGND
+12V R28
RESISTOR VAR
1 3
+5V
+12V
C44 104
1 2
AGND
AGND
+5V
+5V U2
74HC4052
12 11 1 4 6
10 9 13 3
16 8 X0 X3 Y0 Y3 INH
A X Y
VDD VEE
C39 104
1 2
AGND
AGND
R43 1k 2 1
J1
BNC
1
AGND
C6 1n 1 2
-U1D TL084
12 14
+5V
-12V
C16 150p 1 2
AGND
-12V C42
104 1 2
-U1B TL084
5 7
LEVEL SHIFTER
AGND
R34 10k 2 1 INPUTS
LOW-PASS FILTER
DGND
AGND
-U13B TL084 5 7
R11 10k 2 1
-U6A TL084 3 1
C41 1n
1 2 CHANNEL A
AUTORANGING
J2
BNC
1
D5 ZENERBReset
C1 1u
-U13A TL084
3 1
-U13D TL084
12 14
AGND
C17 150p 1 2
R38 10k 2 1
AGND
+5V
-12V -12V
-12V
R32
1 3
+12V
+12V
-12V
R8 20k 2 1
R41 1k 2 1
AGND
+12V
C10 1u
C15 1n 1 2
R5 1k
2 1
+12V
AGND
R40 1k 2 1
-12V
U3A
74LS393 1 3 6 14 7 A CLR QA QD VCC GND
AGND
-U7 OP07
3 6
R44 1k 2 1
-U8 OP07
3 6
C4 150p 1 2
+5V
-5V
-U15 OP07 3 6
AGND
AGND LEVEL SHIFTER
+12V GAINB1
AGND
-12V
+12V
+12V
-U1A TL084
3 1
AGND
AGND
R30 4k 2 1
C45 104 1 2
AUTORANGING
-12V C47
1n 1 2
R26 20k 2 1
C40 104
1 2
C21 150p 1 2
+12V
AGND
VrefReset
-12V
C8 270p 1 2
AGND
+12V
-U14 OP07
3 6
VrefReset
+5V
D4 DIODEB 1 2
VrefClock
GAINA2
D1 DIODEA 1 2
R9 20k 2 1
R37
20k
2
1
KENHA
-U13C TL084 10 9 8
C43 104
1 2
+12V
R4 30k
2 1
R33 10k 2 1
R39 1k 2 1
C38 1n
-U1C TL084 10 9 8
R15 1k 2 1
C7 2.2n1 2
AGND
-12V
R53 RESISTOR VAR
1 3
R42 10k 2 1
AGND
C9 150p1 2
D6 ZENERBClock
R19 1k 2 1
R27
RESISTOR VAR
1 3
+5V
R17 1k 2 1
R31
1 3
AGND
GAINB2
GAINA2
+12V
R2 100k 2 1
R14 10k 2 1
AGND
GAINB1 -5V
R18 10k 2 1
U12
74HC4052
12 11 1 4 6
10 9 13 3
16 8 X0 X3 Y0 Y3 INH
A X Y
VDD VEE
D2 ZENERAReset
AGND
AGND
R7 4k 2 1
C5 150p 1 2
R25 100k 2 1
KENHB
D3 ZENERAClock
AGND
AGND +12V
Hình 2a: Khối xử lý số và giao tiếp máy tính
Trang 4DATA12
+12V +5V
D7
LEDA
1 2
C23
1n
1 2
C32
104
1 2
DA1
+5V
RD+CSB
C54 10u
1 2
RESETA
DA1
R49
1k
2 1
LEDA2
KENHA
AddLe1
C49
2200u
1 2
DATA3 ADD2
ADD6
ADDRESSB
DA10 DA7
RD+CSA
C13
33p
1 2
U10
AT89C2051/SO
1
10 5
12 15 18
2 7 11
RST/VPP GNDVCC XTAL1
P1.0/AIN0 P1.2 P1.5
P3.0/RXD P3.1/TXD P3.2/INT0 P3.4/T0 P3.7
DGND
ADD8
DGND
JP1
HEADER 5
1 4
DGND
D8
LEDB
1 2
DA3
AGND
C22 1n
1 2
U4
AT89C2051/SO
1
10 5
12 15 18
2 7 11
RST/VPP GND VCC XTAL1
P1.0/AIN0 P1.2 P1.5
P3.0/RXD P3.1/TXD P3.2/INT0 P3.4/T0 P3.7
U18B
74LS08
4 6
Y1 24MHz
+5V
DB4
DATA12
ADDRESSA
ADD2
ADDRESSB
BUSYA
C12 104
1 2
GAINB2
AddChan1
DA5
U19
74HC688
1
10
19
20 3 9 12 18
2 8 11 17 OE
GND
P=Q
VCC Q0 Q3 Q6
P0 P3 P6
+5V
LEDB1
AphatBnhan
Vin1
DB8
U9
4053
12 2 5 6 11 9
14 4
16 8
X0 Y0 Z0 INH A
X Z VDD
AGND Vin2
U17A
74LS32
1 3
DATA6
ADD4
U17B
74LS32
4 6
U11
AD7875
20
18
16 13 9 6 2
19 21 3 22
23 1 24
VIN
AGND
DB0/DB8 DB2/DB10 DB4/LOW DB7/LOW DB8/SDATA DB9/SCLK DB10/SSTRB DB11/HBEN BUSY/INT
REFOUT -VCC VCC GND
CLK 12/8/CLK
CONVST RD
LEDAB2
IOW
NGAT0
C25
104
1 2
C35
1u
1 2
DATA14
DATASTSA
ADD6
IOW
U18C
74LS08
9 10 8
DATA14
DATA9
MULTIPLEXER
DATA11 DA4
+5V
ADD9
DA11
DB11 -5V
LEDAB2
D9
LEDAB
1 2
C51
2200u
1 2
C56 10u
1 2
-12V
LEDAB1
AddChan1
+5V
C28
104
1 2
C36
1u
1 2
C52
1000u
1 2
DATA0
ADD5
ADDRESSA
+5V
DATA10
uC_IOCS16
KENHA
AGND BUSYB
NGAT1
DA2
DB9
DGND
DGND
C57
1u
1 2
AGND
AGND
+5V
CONVERTA
-5V
DB9
VCC
DATA15
DATA15
NGAT1
-5V
U18D
74LS08
12 11
NGAT0
IOR
Vin1 DA2
DGND KENHB
+5V
C33
104
1 2
-5V
DATA7
BphatAnhan
DB2
DGND
+12V DATA3
-12V
R50
1k
2 1
C48
10u
1 2
DB3
C30
104
1 2
JP2
HEADER 3
1
DB1 DA0
DGND
+12V
DATASTSB
SELECTB
NGAT1
+5V
NGAT0
ADDRESSA
+5V
MICRO-CONTROLLER
DUTRUA
R51
1k
2 1
-12V ADD7
R36
8k2
2 1
U17C
74LS32
9
10 8
DB8
ADD7
R48 RESISTOR SIP 9
2 4 6 8
DA9
DATA8 DATA5
LEDB2
BphatAnhan
ADD1
+5V
DA11
DGND XTAL2
ADDRESSA
RD+CSA
16 BITS CONTROL
G2AB
AGND -5V
SELECTA
LEDB1
AEN
IOCS16 +5V
Vin2 DGND
DATA8
DA10
AGND
C55
10u
1 2
C27
104
1 2
U22
74LS244
2 8
1
18 12
20 11 17 9 3 19
A1 A4
1OE
Y1 Y4
VCC GND
A5 A8 Y5 Y8 2OE
ADD0
CONVERTA
D/K_IOCS16 DGND DATA0
DGND DGND
U16
74LS138
1
6 15 12 9 16 8 A G1 G2A
Y0 Y3 Y6 VCC GND
C58
1u
1 2
DUTRUB DATA11
DUTRUA
DATA10
-5V
CONVERTB RD+CSB RESETA
+5V
DB6
XTAL2
XTAL
DATA14
DATA4
ADDRESSB
LED INDICATORS
U18A
74LS08
1 3
DATA15
AddChan2
+5V
U23
74LS244
2 8
1
18 12
20 11 17 9 3 19
A1 A4
1OE
Y1 Y4
VCC GND
A5 A8 Y5 Y8 2OE
DATA13
DB11
AGND DGND
ADDRESSA
ADD5
C29
104
1 2
LEDA1
AGND
AphatBnhan
KENHB
XTAL2
DATA9
DGND
+5V
DB5
DATASTSB ADDRESSB
uC_IOCS16 DATA4
LEDAB1 LEDB2
ADD8
AddLe1
+5V
DGND
C59
1u
1 2
CONVERTB
BUFFER
GND
DB2
+5V DGND
-5V
XTAL1
C53
10u
1 2
DATA3
DA4
LEDA1
DA6
AGND
DATA8
GAINA2
DB6
ADC
DA9
AEN
ADD0
+5V
DB7
DATA10
SELECTA ADD9
DB0
IOR
DA3
DA8
+5V
U17D
74LS32
12 11
DATA2
DATA2 ADD3
U21
PC AT BUS
2 8 10 16 22 28 34 40 46 52 58 64 70 76 82 88 94
1 7 11 17 23 29 35 41 47 53 59 63 69 75 81 87 93
B01 GND B02 RESET B03 +5V B04 IRQ9 B05 -5V B06 DRQ2 B07 -12V B08 SRDY B09 +12V B10 GND B11 SMEMW B12 SMEMR B13 IOW B14 IOR B15 DACK3 B16 DRQ3 B17 DACK1 B18 DRQ1 B19 REFRESH B20 SYSCLK B21 IRQ7 B24 IRQ4 B26 DACK2 B27 TC B28 BALE B29 +5V B30 OSC D01 MEMCS16 D02 IOCS16 D03 IRQ10 D06 IRQ15 D08 DACK0 D09 DRQ0 D10 DACK5 D11 DRQ5 D12 DACK6 D13 DRQ6 D14 DACK7 D15 DRQ7 D16 +5V D17 MASTER D18 GND
IOCHCHK A01 SD7 A02 SD4 A05 SD1 A08 IOCHRDY A10 AEN A11 SA19 A12 SA16 A15 SA13 A18 SA10 A21 SA9 A22 SA6 A25 SA3 A28 SA0 A31 SBHE C01 LA23 C02 LA20 C05 LA17 C08 MEMR C09 MEMW C10 SD8 C11 SD10 C13 SD13 C16
DATA1
AGND
DB7
C24 104
1 2
XTAL1
DGND
DGND
DATA5
IOCS16
DATA13
RESETA
DB1
U5
AD7875
20
18
16 13 9 6 2
19 21 3 22
23 1 24
VIN
AGND
DB0/DB8 DB2/DB10 DB4/LOW DB7/LOW DB8/SDATA DB9/SCLK DB10/SSTRB DB11/HBEN BUSY/INT
REFOUT -VCC VCC GND
CLK 12/8/CLK
CONVST RD
LEDA2
DB10
ADDRESS DECODER
-12V
DATA13
ADDRESSB
DB3 ADD4
BUSYB
U25
74LS244
2 8
1
18 12
20 11 17 9 3 19
A1 A4
1OE
Y1 Y4
VCC GND
A5 A8 Y5 Y8 2OE
ADDRESSB
IOW
DB4
-5V
DGND
U20
74LS244
2 8
1
18 12
20 11 17 9 3 19
A1 A4
1OE
Y1 Y4
VCC GND
A5 A8 Y5 Y8 2OE
AddChan2 DGND
J3
DIPSOC-8x2/SM
1 4 7
16 13 10 9
ADDRESSA
-5V
DB10
DGND
ADD3
+5V
ISA BUS
DA5
DB0
+5V
DGND
DATA6
RD+CSA
AddLe2
DA7
DA0
D/K_IOCS16
DATASTSA
DUTRUB
ADD1
BUSYA
+12V
IOR
DA6
DGND
XTAL1
SELECTB
RD+CSB
DB5
C34
104
1 2
RESET
DATA4 DATA0
C50
1000u
104
1 2
POWER CONNECTOR
DATA1
GAINB1
C31
104
1 2
DATA2
DATA11
C11
33p
1 2
DATA9 DATA7
AddLe2
+5V
DA8
DGND DATA7
DATA1
C60
1u
1 2
DATA12
+5V
Hình 2b Khối xử lý số và giao tiếp máy tính của mạch thu nhận dữ liệu
Trang 5Hình 3 là giao diện Oscilloscope
Hình 3 Giao diện Oscilloscope
• Nút Run:
Khi muốn chạy chương trình, xem dữ liệu trên màn hình, ta bấm nút Run, hoặc vào menu Capture/Run
• Nút Stop:
Khi muốn dừng việc lấy dữ liệu vào, bấm nút Stop hoặc vào menu Capture/Stop
• Lấy dữ liệu:
Dữ liệu của kênh 1 và kênh 2 được nhập vào hai mảng dữ liệu khác nhau
3 HIỂN THỊ DẠNG SÓNG VÀ DỮ LIỆU ĐO
Việc vẽ tín hiệu ra màn hình chỉ là việc đưa dữ liệu tương ứng nhận được ra một vị trí xác định trên màn hình Để điều khiển, kiểm soát được biên độ, thời gian, ta phải chuyển dữ liệu vào các giai xác định Hình 4 là giải thuật
Trang 6Hình 4 Giải thuật hiển thị dạng sóng và dữ liệu đo
3.1 Giai dọc và ngang
Oscilloscope mô phỏng phải có hầu hết các chức năng của một Oscilloscope thật sự, trong
đó có vấn đề về giai số dọc (Vert.scale) gốc thời gian (Timebase), vị trí dạng sóng (Position),
độ lợi (Gain), chọn kênh (View channel) Sau đây là giao diện điều khiển:
Đổi từ dữ liệu sang pixel
Trục y là dữ liệu pixel tương ứng với chỉ số ở trục x chia giai biên
độ (để có thể thay đổi biên độ
hiển thị)
Cờ cho phép vẽ nối điểm
Vẽ nối điểm dữ liệu
Trục x là [chỉ số] mẫu + hệ số thời gian (để có thể co giãn khoảng cách giữa các mẫu)
sai
đúng
Vẽ ra màn hình theo từng chấm điểm
Trang 7Để thay đổi giai biên độ (giai dọc) ta thay đổi giá trị biến giaibiendo trong chương trình; để thay đổi giai thời gian ta thay đổi giá trị biến giaichuky Còn biến vitri là để thay đổi vị trí của hình vẽ (có thể di chuyển lên xuống), biến k=1 hoặc k=-1 để đảo dạng sóng tín hiệu (Invert)
3.2 Vẽ dạng sóng ra màn hình
Vẽ dạng sóng là hiển thị dữ liệu ra màn hình dựa vào các cách chọn lựa của người sử dụng: chọn vẽ tín hiệu thực, vẽ tín hiệu sau khi đã được làm trơn theo các cách khác nhau (xem sau) Người sử dụng còn có thể chọn các giai biên độ gốc thời gian và nhiều thuộc tính khác tùy ý như đã trình bày ở trên
Hình 5 là ví dụ hiển thị dạng sóng tín hiệu của mạch bên ngoài Cần lưu ý là ở dao động ký tương tự hai tín hiệu phải có tương quan tần số phù hợp (bằng nhau hay bội số của nhau) thì sự hiển thị mới vững, còn ở dao động ký số không có sự ràng buộc này
Hình 5 Ví dụ hiển thị dạng sóng tín hiệu (dạng sóng vuông và sin có tần số độc lập)
3.3 Chọn màu
Trang 8Chương trình cho phép thay đổi nét vẽ, màu sắc, màu nền Đây là các thuộc tính tính về
3.4 Sử dụng con trỏ
Để có thể biết được tín hiệu tại một vị trí xác định trên màn hình có biên độ là bao nhiêu, khoảng cách thời gian giữa hai điểm tín hiệu là bao nhiêu, ta dùng con trỏ (Cursor) Giải thuật của phần sử dụng con trỏ chuột (kết hợp được với bàn phím) trình bày ở hình 6
Hình 6 Giải thuật sử dụng cursor
3.5 Bộ định thời
việc nhận dữ liệu và vẽ lên màn hình sau một khoảng thời gian xác định mà không cần phải thông qua thao tác hay sự kiện
3.6 Phóng to, thu nhỏ
Lựa chọn dùng cursor đo biên độ Lựa chọn dùng cursor đo thời gian
Suy ra giá trị volt Suy ra giá trị thời gian giữa 2 vị trí
Lựa chọn kênh đo
Trang 9Để nhìn thấy rõ hơn dữ liệu hiển thị trên màn hình, ta phóng to hình lên bằng cách bấm nút Zoom in, đây là sự kết hợp giữa việc tăng chu kỳ ở trục x và tăng biên độ ở trục y, tương ứng là việc tăng giai trên màn hình
Tương tự với phóng to, khi muốn thu nhỏ hình, ta bấm nút Zoom out, đây là sự kết hợp giữa việc giảm chu kỳ ở trục x và giảm biên độ ở trục y, tương ứng là việc giảm giai trên màn hình
3.7 Hình Lissajous
Chức năng của Lissajous là để thấy sự lệch pha của hai tín hiện sin cùng biên độ, cùng tần
số Hai tín hiệu cùng pha: đường Lissajous là đường thẳng có hệ số góc là 1 Hai tín hiệu lệch
thẳng có hệ số góc là -1 Hình Lissajous cũng là cách cổ điển để so sánh tần số hai tín hiệu sin
Vẽ đường Lissajous là vẽ biên độ của tín hiệu này theo biên độ tín hiệu kia
3.8 Làm trơn dạng sóng
Một vấn đề then chốt của Oscilloscope hóa máy tính là phục hồi dạng sóng tín hiệu tương
tự từ các trị lấy mẫu của nó (cung cấp bởi mạch ADC) như thế nào để cho dạng sóng trơn tru Cách nội suy làm trơn tùy thuộc vào dạng sóng (sin, vuông ) và tần số tín hiệu (nếu xử lý thời gian thực) Hàm fit (làm khớp) là hàm nội suy làm trơn dạng sóng
Sau đây là một số kiểu làm trơn
• Lấy trung bình: Lấy trung bình qua một số điểm mẫu, thường là 3 hay 5, nói cách khác là cho tín hiệu qua một lọc trung bình di chuyển (moving average filter) bậc thấp
• Nội suy Spline bậc ba: Phương pháp biểu diễn gần đúng các hàm số bằng những đa
thức trên từng đoạn nhỏ rồi ghép lại sao cho tại các điểm nối thỏa điều kiện cho trước gọi là phương pháp Spline Thường dùng là Spline bậc ba (cubic Spline), là một công thức nội suy sao cho làm trơn đạo hàm bậc nhất và liên tục tới đạo hàm bậc hai trong một khoảng tại
biên của nó
• Nội suy Hermite: Ở các nội suy Hermite ta dùng một đa thức bậc cao sao cho đa thức
này và các đạo hàm bậc nhất, bậc hai, có các giá trị đã biết tại điểm đầu, điểm cuối và
các điểm trung gian Màn hình bên trái cho thấy sự lựa ba kiểu làm trơn:
Việc làm trơn dạng sóng quá đáng sẽ làm giảm các biến động chuyển tiếp nhanh mà đôi khi rất cần thiết Do đó phải tùy dạng tín hiệu vào mà chọn cách phù hợp
3.9 Trigger
Mục đích của Trigger là hiển thị dữ liệu từ vị trí mức Trigger (Trigger level) đã chọn Nếu
dữ liệu tuần hoàn thì các lần vẽ lặp lại trùng nhau nên ta chỉ thấy một dạng sóng đứng yên (thuận tiện cho việc quan sát) Vị trí dữ liệu trong mảng có giá trị bằng hoặc gần mức Trigger
Trang 10đã chọn được vẽ ra màn hình từ vị trí đó trở đi (cho đến hết số chu kỳ đã định) Cũng giống như Oscilloscope thật sự, ta có sự chọn lựa Trigger là +Slope (dốc lên) hay -Slope (dốc xuống), ngoài sự chọn mức Màn hình ở trên (bên phải) cho thấy các kiểu trigger
4 TÍNH TOÁN CÁC THAM SỐ CỦA TÍN HIỆU
Sự thuận lợi của Oscilloscope số (ở đây là máy tính dùng như Oscillooscope số) là có thể tính toán và hiển thị nhiều tham số (đặc tính) của tín hiệu như: chu kỳ, tần số, trị đỉnh - đỉnh
4.1 Chu kỳ, tần số
Trước tiên tìm giải thuật đo chu kỳ tín hiệu tuần hoàn, sau đó suy ra tần số
4.2 Trị hiệu dụng (RMS)
Ở đây ta tính trị hiệu dụng dựa vào phép lấy tích phân số Thường công thức hình thang (trường hợp đặc biệt của công thức Newton-Cotet) được dùng:
2 )
) 1
h dx x f h n nh
+
=
=
+
+
1
2 1 2
0
2
2
1
i
i i T
h y y T dt V T
Trong đó: T: chu kỳ tín hiệu vào
4.3 Trị đỉnh – đỉnh
Tìm trị của đỉnh dương và trị của đỉnh (đáy) âm trong mảng dữ liệu, sau đó suy ra trị đỉnh – đỉnh
5 PHÂN TÍCH TẦN PHỔ TÍN HIỆU DÙNG FFT
FFT (Fast Fourier Transform) là thuật toán tính toán nhanh biến đổi Fourier rời rạc (Dicrete Fourier Transform – DFT) trong việc phân tích tần phổ tín hiệu Ta lấy một số lượng mẫu đúng bằng bội số nguyên của một chu kỳ tín hiệu, phần còn lại xem các mẫu như bằng không (đây là cách độn không):
5.1 Chương trình biến đổi FFT thuận và nghịch
Vì toàn bộ phần mềm cho phòng thí nghiệm dùng mạng máy tính được viết bằng ngôn ngữ
chúng tôi tự viết chương trình biến đổi FFT đã biết Hình 7 là một ví dụ phân tích