{"id":29442,"date":"2023-02-20T08:41:06","date_gmt":"2023-02-20T16:41:06","guid":{"rendered":"https:\/\/digilent.com\/blog\/?p=29442"},"modified":"2023-02-20T13:46:25","modified_gmt":"2023-02-20T21:46:25","slug":"why-does-the-zmod-digitizer-have-an-on-board-low-jitter-clock-source","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/why-does-the-zmod-digitizer-have-an-on-board-low-jitter-clock-source\/","title":{"rendered":"Why Does the Zmod Digitizer Have an On-Board Low-Jitter Clock Source?\u00a0"},"content":{"rendered":"<h3><span data-contrast=\"auto\">What is jitter?<\/span><\/h3>\n<p><span data-contrast=\"auto\"> Jitter is the variance in where exactly a clock falls. You might expect that a 100 MHz clock has edges that occur exactly every 10 ns. However, this can vary, depending on the quality of the clock source, the paths that the clock travels down to get to where it is used, and can change depending on circuitry that modifies the clock to get required frequencies, duty cycles, and phase shifts with respect to other clocks.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-29710\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2023\/02\/1.png\" alt=\"\" width=\"580\" height=\"232\" data-wp-pid=\"29710\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><span data-contrast=\"auto\">Why does this matter? <\/span><\/h3>\n<p><span data-contrast=\"auto\">In signal acquisition, clock jitter causes noise. The following diagram shows how the signal being captured and the jitter combine to cause variance in the actual measured value of a sample. This noise is referred to as <\/span><i><span data-contrast=\"auto\">phase noise <\/span><\/i><span data-contrast=\"auto\">because it is caused by variance in the phase of the clock \u2013 edges are phase-shifted forward or back as compared to the edges you would see on the ideal clock.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-29711\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2023\/02\/2.png\" alt=\"\" width=\"580\" height=\"232\" data-wp-pid=\"29711\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span data-contrast=\"auto\">Why does signal noise matter? <\/span><\/h3>\n<p><span data-contrast=\"auto\">Especially in software-defined radio (SDR), noise in a captured signal can obscure critical components of a signal. In the following diagram, showing the theoretical spectrogram of signals captured with relatively low and high jitter, you can see how components that are obscured when the phase noise is too high appear when a clock source with lower phase noise is used and the signal-to-noise-ratio is improved. The \u201cskirt effect\u201d spreads the poorer capture out over a wider band of frequencies, obscuring smaller signals that may still be of interest. Due to the improved \u201cheight\u201d (range) of the low-noise signal, you also get a higher effective resolution.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-29712\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2023\/02\/3.png\" alt=\"\" width=\"580\" height=\"247\" data-wp-pid=\"29712\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span data-contrast=\"auto\">Why not use clocks generated in the FPGA? <\/span><\/h3>\n<p><span data-contrast=\"auto\">In some applications, you should be using specific clock frequencies in order to capture your signal of interest. If the clock frequency doesn\u2019t match some multiple of the frequency that the signal is being produced at, the phase of the acquisition could drift over time. So, you need to produce a clock of the appropriate frequency by using FPGA resources to modify whatever clock sources you have been provided. However, FPGA PLLs\/MMCMs can cause additional jitter to be added to a derived clock. This can be seen in the clocking wizard in Vivado. Here, we can see that, given the settings selected, a 125 MHz input clock producing a 100 MHz output clock increases the jitter of the clock from a specified 80 (ps) to 124.615 ps.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><i><span data-contrast=\"auto\">Note: these exact numbers are not necessarily representative of a real design, they are used only to demonstrate the principle of jitter increasing as a clock passes through clock management resources.<\/span><\/i><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-29713\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2023\/02\/4-600x447.png\" alt=\"\" width=\"600\" height=\"447\" data-wp-pid=\"29713\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2023\/02\/4-600x447.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2023\/02\/4.png 1015w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span data-contrast=\"auto\">So, to revisit the original question, why does the Zmod Digitizer have a low-jitter clock source? <\/span><\/h3>\n<p><span data-contrast=\"auto\">It improves the signal-to-noise ratio and frequency resolution of captured signals, reduces noise, and makes it easier to pick out smaller components that have frequencies close to a much stronger component of an acquired signal. This feature makes it well-suited to SDR applications with potentially stringent requirements.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-29442 jlk' data-task='like' data-post_id='29442' data-nonce='d8c4d58d14' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-29442 lc'>+1<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-29442 jlk' data-task='unlike' data-post_id='29442' data-nonce='d8c4d58d14' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-29442 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-29442 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>What is jitter? Jitter is the variance in where exactly a clock falls. You might expect that a 100 MHz clock has edges that occur exactly every 10 ns. However, &hellip; <\/p>\n","protected":false},"author":52,"featured_media":29719,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4325,4361,38,20,1561,4324],"tags":[4391,4393,4394,4364,4387,4390,4384,4385,4389,4380,4341,4392,4388,4347,4386],"ppma_author":[4462],"class_list":["post-29442","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-debug-validation-test","category-data-acquisition","category-expansion-modules","category-products","category-applications","category-research-rapid-prototyping","tag-acquire-signal","tag-clock","tag-clock-jitter","tag-data-acquisition","tag-digitizer","tag-frequencies","tag-jitter","tag-jitter-clock","tag-noise","tag-sampling","tag-sdr","tag-signal-noise","tag-signal-to-noise","tag-zmod","tag-zmod-digitizer"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2023\/02\/featured-blog.png","jetpack_sharing_enabled":true,"authors":[{"term_id":4462,"user_id":52,"is_guest":0,"slug":"abrown","display_name":"Arthur Brown","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/60e7f8e1b3a55e2e20ee541df1f393c2acbcee9fd05fd3e38d07e25a2e6fd237?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/29442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=29442"}],"version-history":[{"count":4,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/29442\/revisions"}],"predecessor-version":[{"id":29717,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/29442\/revisions\/29717"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/29719"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=29442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=29442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=29442"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=29442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}