به فرایند دریافت و جمعآوری سیگنال از یک یا چند سنسور که در حال اندازهگیری شرایط محیط پیرامون هستند دادهبرداری (به انگلیسی: data acquisition) گفته میشود. دادهبرداری معمولاً با هدف تبدیل اطلاعات سنسورها به دادههای دیجیتال بمنظور انجام پردازشهای بعدی در کامپیوتر صورت میگیرد. سیستمهای داده برداری (به انگلیسی: data acquisition system) یا بهصورت مخفف شده DAS ،DAQ یا DAU عموماً وظیفه تبدیل امواج آنالوگ به مقادیری دیجیتال و قابل فهم برای کامپیوتر را بر عهده دارند.
اجزای سیستم های دادهبرداری شامل موارد زیر است:
برنامههای دادهبرداری معمولاً با استفاده از زبانهای برنامهنویسی مختلف مانند اسمبلی، بیسیک، C ،C++ ،C# ،Fortran ،Java ،LabVIEW، لیسپ، پاسکال نوشته میشوند. سیستمهای دادهبرداری مستقل (به انگلیسی: Stand-alone Data Acquisition Systems)، دیتالاگر نیز نامیده میشوند. همچنین بستههای نرمافزاری منبع باز (به انگلیسی: Open-Source) نیز وجود دارد که تمام ابزارهای لازم را برای دادهبرداری از تجهیزات سخت افزاری مختلف را فراهم میکند. این ابزارها در جوامع علمی که در آنجا آزمایشهای پیچیده نیاز به نرمافزاری سریع، انعطافپذیر (به انگلیسی: Flexible) و سازگار (به انگلیسی: Adaptable) دارد تهیه میشوند. علاوه بر نرمافزارهای منبع باز، نرمافزارهای شرکتی هم هستند که بهصورت تخصصی برای دادهبرداری ساخته شدهاند. یکی از پیشروترین شرکتها در زمینه تجهیزات دادهبرداری شرکت National Instruments یا به اختصار NI امریکا است. شرکت NI یک زبان برنامهنویسی گرافیکی با نام لبویو (به انگلیسی: LabVIEW) دارد که به صورت تخصصی برای برنامهنویسیهای مرتبط با دادهبرداری ساخته شده است.
در سال 1963، IBM رایانههایی تولید کرد که به صورت تخصصی برای دادهبرداری ساخته شده بودند. این سیستمهای گران قیمت تخصصی در سال 1974 با رایانههای عمومی مدل S-100 و کارتهای دادهبرداری تولید شده توسط Tecmar / Scientific Solutions Inc. جایگزین شدند. در سال 1981، IBM همراه با معرفی رایانه شخصی IBM برای تحقیقات علمی اولین سیستم دادهبرداری مبتنی بر رایانههای شخصی را معرفی کرد. [۱][۲][۳][۴][۵]
فرایند دادهبرداری با یک پدیده یا ویژگی فیزیکی قابل اندازهگیری آغاز میشود. برای مثال میتوان به دما، فشار، شدت نور و غیره اشاره کرد. صرفنظر از نوع خاصیت فیزیکی قابل اندازهگیری (دما، فشار، نیرو و غیره)، ابتدا باید وضعیت فیزیکی مورد اندازهگیری به شکلی قابل نمونهبرداری برای سیستم دادهبرداری تبدیل شود. وظیفه انجام چنین تغییراتی برعهده دستگاههایی است که سنسور نامیده میشوند. سیستمهای دادهبرداری مجموعهای از نرمافزار و سختافزار است که به کاربر امکان اندازهگیری یا کنترل خصوصیات فیزیکی یک وسیله یا پدیدهای در دنیای واقعی را میدهد. یک سیستم دادهبرداری کامل شامل سنسورها، کارت دادهبرداری، سختافزار مطلوبسازی سیگنال و رایانهای شامل نرمافزار دادهبرداری است. اگر در فرایند دادهگیری زمانبندی هم اهمیت داشته باشد، یک سیستم جبران زمانبندی توزیع شده جداگانه نیاز است. سنسور، نوعی مبدل است که خاصیت فیزیکی را به سیگنال الکتریکی مربوط به آن تبدیل میکند. باتوجه به اینکه خروجی سنسورهای مختلف متفاوت است، یک سیستم دادهبرداری برای آنکه بتواند با انواع سنسورها کار کند باید سیگنال خروجی از سنسورها با توجه به شرایط کارت دادهبرداری تنظیم شوند. این عمل مطلوبسازی سیگنال (به انگلیسی: Signal Conditioning) نامیده میشود. در حالت کلی مطلوبسازی سیگنال شامل اعمال فیلترهای بالاگذر و پایینگذر، تقویتسازی سیگنال (به انگلیسی: Amplification) و شکلدهی سیگنال است. برخی از فرایندههای دیگر مطلوبسازی سیگنال که به صورت خاصتر مورد استفاده قرار میگیرند عبارتند از: تکمیل پل (به انگلیسی: Bridge Completion) برای مدارهایی که براساس پل-وتسون کار میکنند، تامین ولتاژ یا جریان تحریک برای سنسور، خطیسازی (به انگلیسی: Linearization) هستند. همچنین به منظور انتقال سیگنال، تبدیل سیگنالهای Single-Ended که حساسیت بالایی به نویز دارند به سیگنالهای Differential که در برابر نویز مقاومتر هستند از دیگر نمونههای مطلوبسازی سیگنال است.
سختافزار دادهبرداری عموماً وسیلهای است که بین سیگنال و کامپیوتر قرار دارد. این وسیله میتواند به شکل ماژولهایی باشد که میتوانند به پورتهای USB، سری یا موازی کامپیوتر متصل شوند یا بهصورت کارتهایی باشد که به اسلات مادربرد کامپیوتر (PCI یا PCIe یا SATA) متصل میشوند.
کارتهای دادهبرداری عموماً شامل چند المان هستند. این المانها عبارتند از (multiplexer, ADC, DAC, TTL-IO, high speed timers, RAM) این المانها از طریق یک میکروکنترلر قابل برنامهریزی هدایت میشوند.
برای اینکه سخت افزار DAQ بتواند با کامپیوتر کار کند، به درایور (به انگلیسی: Driver) نیاز است. درایور یک سختافزار، از یک طرف با اجرای کدهای سطح پایین خواندن و نوشتن وظیفه ارتباط با سختافزار را برقرار میکند و از طرف دیگر بوسیله API به کاربر این اجازه را میدهد تا متناسب با نیاز خود سختافزار را بکار بگیرد.