<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568</link>
    <title>MATLAB Central Newsreader - Effect of sampling frequency for FFT</title>
    <description>Feed for thread: Effect of sampling frequency for FFT</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Fri, 30 Oct 2009 15:01:04 -0400</pubDate>
      <title>Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#690973</link>
      <author>juho salminen</author>
      <description>Hi, &lt;br&gt;
&lt;br&gt;
I have done some tests with artificial sinusoidial data with white noise added on it. It seems, that the higher sampling frequency I have, the better is signal to noise ratio in FFT. With this I mean, that I take FFT with constant window length, let's say 500 samples. Signal itself is kept constant, let's say 30Hz. &lt;br&gt;
Highter sampling frequency then, of course, reduces the time window size. &lt;br&gt;
This should simulate measurements of some sinusoid with  different sampling frequencies&lt;br&gt;
&lt;br&gt;
Do you know what would cause better SNG values, when sampling frequency increases?&lt;br&gt;
&lt;br&gt;
Thanks already for answers,&lt;br&gt;
&lt;br&gt;
-Juho</description>
    </item>
    <item>
      <pubDate>Fri, 30 Oct 2009 15:11:01 -0400</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#690977</link>
      <author>juho salminen</author>
      <description>&quot;juho salminen&quot; &amp;lt;jssalmi3@cc.hut.fi&amp;gt; wrote in message &amp;lt;hcev3g$lej$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Hi, &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have done some tests with artificial sinusoidial data with white noise added on it. It seems, that the higher sampling frequency I have, the better is signal to noise ratio in FFT. With this I mean, that I take FFT with constant window length, let's say 500 samples. Signal itself is kept constant, let's say 30Hz. &lt;br&gt;
&amp;gt; Highter sampling frequency then, of course, reduces the time window size. &lt;br&gt;
&amp;gt; This should simulate measurements of some sinusoid with  different sampling frequencies&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Do you know what would cause better SNG values, when sampling frequency increases?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thanks already for answers,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; -Juho&lt;br&gt;
&lt;br&gt;
Note: I am talking about SNR (!)  for detecting amplitde of signal. Amplitudes seem to be always closer to right value, when sampling frequency is increased</description>
    </item>
    <item>
      <pubDate>Fri, 30 Oct 2009 15:25:20 -0400</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#690981</link>
      <author>Matt </author>
      <description>&quot;juho salminen&quot; &amp;lt;jssalmi3@cc.hut.fi&amp;gt; wrote in message &amp;lt;hcev3g$lej$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&lt;br&gt;
&amp;gt; Highter sampling frequency then, of course, reduces the time window size. &lt;br&gt;
&lt;br&gt;
By time-frequency duality, windowing in the time domain is equivalent to low-pass filtering the frequency spectrum. By decreasing the window-size you are applying a low pass filter to your spectral data of lower and lower cut-offs and hence greater and greater smoothing.</description>
    </item>
    <item>
      <pubDate>Fri, 30 Oct 2009 22:19:05 -0400</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691106</link>
      <author>juho salminen</author>
      <description>&quot;Matt &quot; &amp;lt;xys@whatever.com&amp;gt; wrote in message &amp;lt;hcf0h0$kqk$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;juho salminen&quot; &amp;lt;jssalmi3@cc.hut.fi&amp;gt; wrote in message &amp;lt;hcev3g$lej$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Highter sampling frequency then, of course, reduces the time window size. &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; By time-frequency duality, windowing in the time domain is equivalent to low-pass filtering the frequency spectrum. By decreasing the window-size you are applying a low pass filter to your spectral data of lower and lower cut-offs and hence greater and greater smoothing.&lt;br&gt;
&lt;br&gt;
Sorry for inconvenience, what I meaned was, that actual FFT window size is always the same, let's say 500 points. But, when I sample artificial signal with highter sampling frequency, Amplitude of sine wave in FFT is much more accurate than with lower sampling frequency.&lt;br&gt;
&lt;br&gt;
For example, 1. I sample some artificial noisy sine wave with 50Hz, and I collect 5000samples, 2. I sample some artificial sine wave with 200Hz, and I collect 5000samples, the second case gives more accurate amplitude results in FFT </description>
    </item>
    <item>
      <pubDate>Fri, 30 Oct 2009 22:39:04 -0400</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691111</link>
      <author>dpb</author>
      <description>juho salminen wrote:&lt;br&gt;
...&lt;br&gt;
&lt;br&gt;
&amp;gt; For example, 1. I sample some artificial noisy sine wave with 50Hz,&lt;br&gt;
&amp;gt; and I collect 5000samples, 2. I sample some artificial sine wave with&lt;br&gt;
&amp;gt; 200Hz, and I collect 5000samples, the second case gives more accurate&lt;br&gt;
&amp;gt; amplitude results in FFT&lt;br&gt;
&lt;br&gt;
That is, in essence, the same effect as fitting any function--you've got &lt;br&gt;
more information to work with that defines the resolution of the shape &lt;br&gt;
of the curve more distinctly.&lt;br&gt;
&lt;br&gt;
--</description>
    </item>
    <item>
      <pubDate>Sun, 01 Nov 2009 06:27:46 -0500</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691235</link>
      <author>Greg Heath</author>
      <description>On Oct 30, 11:01&#160;am, &quot;juho salminen&quot; &amp;lt;jssal...@cc.hut.fi&amp;gt; wrote:&lt;br&gt;
&amp;gt; Hi,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I have done some tests with artificial sinusoidial data with white noise added on it. It seems, that the higher sampling frequency I have, the better is signal to noise ratio in FFT. With this I mean, that I take FFT with constant window length, let's say 500 samples. Signal itself is kept constant, let's say 30Hz.&lt;br&gt;
&amp;gt; Highter sampling frequency then, of course, reduces the time window size.&lt;br&gt;
&amp;gt; This should simulate measurements of some sinusoid with &#160;different sampling frequencies&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Do you know what would cause better SNG values, when sampling frequency increases?&lt;br&gt;
&lt;br&gt;
SNR is independent of Fs.&lt;br&gt;
&lt;br&gt;
close all, clear all, clc&lt;br&gt;
&lt;br&gt;
f0   = 30&lt;br&gt;
N    = 500&lt;br&gt;
S    =  5&lt;br&gt;
Ps   = 5^2/2            % = 12.5 Signal Power&lt;br&gt;
N0   = 1&lt;br&gt;
Pn   = 1                   % = 1   Noise Power&lt;br&gt;
SNR0 = Ps/Pn        % 12.5&lt;br&gt;
M    = 30                 % No. of trials&lt;br&gt;
&lt;br&gt;
rand('state',0)&lt;br&gt;
randn('state',0)&lt;br&gt;
&lt;br&gt;
for i = 1:M&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fs(i) = f0*i;        % Sampling Frequency&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dt    = 1/Fs(i)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t     = dt*(0:N-1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s     = S*cos(2*pi*(f0*t+rand(1,N)));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n     = N0*randn(1,N);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vars(i) = var(s);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;varn(i) = var(n);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SNR(i)  = var(s)/var(n);&lt;br&gt;
&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
summary = [Fs' vars' varn' SNR']&lt;br&gt;
meansummary = mean(summary(:,2:4))&lt;br&gt;
stdsummary  = std(summary(:,2:4))&lt;br&gt;
meanSNR = meansummary(3)&lt;br&gt;
stdSNR = stdsummary(3)&lt;br&gt;
&lt;br&gt;
figure,hold on&lt;br&gt;
plot(Fs,SNR0*ones(1,M),'k')&lt;br&gt;
plot(Fs,meanSNR*ones(1,M),'r')&lt;br&gt;
plot(Fs,(meanSNR-stdSNR)*ones(1,M),'r--')&lt;br&gt;
plot(Fs,(meanSNR+stdSNR)*ones(1,M),'r--')&lt;br&gt;
plot(Fs,SNR)&lt;br&gt;
axis([0 M*f0 0 20])&lt;br&gt;
xlabel('Sampling Frequency (Hz)')&lt;br&gt;
ylabel('Signal-to-Noise Ratio')&lt;br&gt;
title('SNR Estimate vs Sampling Frequency')</description>
    </item>
    <item>
      <pubDate>Sun, 01 Nov 2009 06:36:22 -0500</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691237</link>
      <author>Greg Heath</author>
      <description>On Nov 1, 2:27&#160;am, Greg Heath &amp;lt;he...@alumni.brown.edu&amp;gt; wrote:&lt;br&gt;
&amp;gt; On Oct 30, 11:01&#160;am, &quot;juho salminen&quot; &amp;lt;jssal...@cc.hut.fi&amp;gt; wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Hi,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; I have done some tests with artificial sinusoidial data with white noise added on it. It seems, that the higher sampling frequency I have, the better is signal to noise ratio in FFT. With this I mean, that I take FFT with constant window length, let's say 500 samples. Signal itself is kept constant, let's say 30Hz.&lt;br&gt;
&amp;gt; &amp;gt; Highter sampling frequency then, of course, reduces the time window size.&lt;br&gt;
&amp;gt; &amp;gt; This should simulate measurements of some sinusoid with &#160;different sampling frequencies&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Do you know what would cause better SNG values, when sampling frequency increases?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; SNR is independent of Fs.&lt;br&gt;
-----SNIP&lt;br&gt;
&lt;br&gt;
Whoops. You mean SNR of the FFT.&lt;br&gt;
I'll look at that now.&lt;br&gt;
Greg</description>
    </item>
    <item>
      <pubDate>Mon, 02 Nov 2009 05:06:34 -0500</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691399</link>
      <author>Greg Heath</author>
      <description>&lt;br&gt;
On Nov 1, 2:27 am, Greg Heath &amp;lt;he...@alumni.brown.edu&amp;gt; wrote:&lt;br&gt;
&amp;gt; On Oct 30, 11:01 am, &quot;juho salminen&quot; &amp;lt;jssal...@cc.hut.fi&amp;gt; wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Hi,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; I have done some tests with artificial sinusoidial data with white noise added on it. It seems, that the higher sampling frequency I have, the better is signal to noise ratio in FFT. With this I mean, that I take FFT with constant window length, let's say 500 samples. Signal itself is kept constant, let's say 30Hz.&lt;br&gt;
&amp;gt; &amp;gt; Highter sampling frequency then, of course, reduces the time window size.&lt;br&gt;
&amp;gt; &amp;gt; This should simulate measurements of some sinusoid with  different sampling frequencies&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Do you know what would cause better SNG values, when sampling frequency increases?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; SNR is independent of Fs.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; close all, clear all, clc&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; f0   = 30&lt;br&gt;
&amp;gt; N    = 500&lt;br&gt;
&amp;gt; S    =  5&lt;br&gt;
&amp;gt; Ps   = 5^2/2            % = 12.5 Signal Power&lt;br&gt;
&amp;gt; N0   = 1&lt;br&gt;
&amp;gt; Pn   = 1                   % = 1   Noise Power&lt;br&gt;
&amp;gt; SNR0 = Ps/Pn        % 12.5&lt;br&gt;
&amp;gt; M    = 30                 % No. of trials&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; rand('state',0)&lt;br&gt;
&amp;gt; randn('state',0)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; for i = 1:M&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;     Fs(i) = f0*i;        % Sampling Frequency&lt;br&gt;
&amp;gt;     dt    = 1/Fs(i)&lt;br&gt;
&amp;gt;     t     = dt*(0:N-1);&lt;br&gt;
&amp;gt;     s     = S*cos(2*pi*(f0*t+rand(1,N)));&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s     = S*cos(2*pi*(f0*t+rand));&lt;br&gt;
&lt;br&gt;
&amp;gt;     n     = N0*randn(1,N);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;     vars(i) = var(s);&lt;br&gt;
&amp;gt;     varn(i) = var(n);&lt;br&gt;
&amp;gt;     SNR(i)  = var(s)/var(n);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; summary = [Fs' vars' varn' SNR']&lt;br&gt;
-----SNIP&lt;br&gt;
&lt;br&gt;
% Exclude cases Fs &amp;lt; = 2*f0&lt;br&gt;
meansummary = mean(summary(3:M,2:4))&lt;br&gt;
stdsummary  = std(summary(3:M,,2:4))&lt;br&gt;
&amp;gt; meanSNR = meansummary(3)&lt;br&gt;
&amp;gt; stdSNR = stdsummary(3)&lt;br&gt;
-----SNIP&lt;br&gt;
&lt;br&gt;
&amp;nbsp;% Restricting to Fs &amp;gt; 2*f0.&lt;br&gt;
&lt;br&gt;
Fs1 = Fs(3:M);&lt;br&gt;
M1  = M-2&lt;br&gt;
&lt;br&gt;
figure,hold on&lt;br&gt;
plot(Fs1,SNR0*ones(1,M1),'k')&lt;br&gt;
plot(Fs1,meanSNR*ones(1,M1),'r')&lt;br&gt;
plot(Fs1,(meanSNR-stdSNR)*ones(1,M1),'r--')&lt;br&gt;
plot(Fs1,(meanSNR+stdSNR)*ones(1,M1),'r--')&lt;br&gt;
plot(Fs1,SNR(3:M))&lt;br&gt;
&lt;br&gt;
&amp;gt; axis([0 M*f0 0 20])&lt;br&gt;
&amp;gt; xlabel('Sampling Frequency (Hz)')&lt;br&gt;
&amp;gt; ylabel('Signal-to-Noise Ratio')&lt;br&gt;
&amp;gt; title('SNR Estimate vs Sampling Frequency')&lt;br&gt;
&lt;br&gt;
Hope this helps.&lt;br&gt;
&lt;br&gt;
Greg</description>
    </item>
    <item>
      <pubDate>Mon, 02 Nov 2009 07:51:02 -0500</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691411</link>
      <author>juho salminen</author>
      <description>Greg Heath &amp;lt;heath@alumni.brown.edu&amp;gt; wrote in message &amp;lt;d65291df-9d35-4375-abf6-1915e52fc5c6@m1g2000vbi.googlegroups.com&amp;gt;...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; On Nov 1, 2:27 am, Greg Heath &amp;lt;he...@alumni.brown.edu&amp;gt; wrote:&lt;br&gt;
&amp;gt; &amp;gt; On Oct 30, 11:01 am, &quot;juho salminen&quot; &amp;lt;jssal...@cc.hut.fi&amp;gt; wrote:&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Hi,&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I have done some tests with artificial sinusoidial data with white noise added on it. It seems, that the higher sampling frequency I have, the better is signal to noise ratio in FFT. With this I mean, that I take FFT with constant window length, let's say 500 samples. Signal itself is kept constant, let's say 30Hz.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Highter sampling frequency then, of course, reduces the time window size.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; This should simulate measurements of some sinusoid with  different sampling frequencies&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Do you know what would cause better SNG values, when sampling frequency increases?&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; SNR is independent of Fs.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; close all, clear all, clc&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; f0   = 30&lt;br&gt;
&amp;gt; &amp;gt; N    = 500&lt;br&gt;
&amp;gt; &amp;gt; S    =  5&lt;br&gt;
&amp;gt; &amp;gt; Ps   = 5^2/2            % = 12.5 Signal Power&lt;br&gt;
&amp;gt; &amp;gt; N0   = 1&lt;br&gt;
&amp;gt; &amp;gt; Pn   = 1                   % = 1   Noise Power&lt;br&gt;
&amp;gt; &amp;gt; SNR0 = Ps/Pn        % 12.5&lt;br&gt;
&amp;gt; &amp;gt; M    = 30                 % No. of trials&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; rand('state',0)&lt;br&gt;
&amp;gt; &amp;gt; randn('state',0)&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; for i = 1:M&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;     Fs(i) = f0*i;        % Sampling Frequency&lt;br&gt;
&amp;gt; &amp;gt;     dt    = 1/Fs(i)&lt;br&gt;
&amp;gt; &amp;gt;     t     = dt*(0:N-1);&lt;br&gt;
&amp;gt; &amp;gt;     s     = S*cos(2*pi*(f0*t+rand(1,N)));&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;       s     = S*cos(2*pi*(f0*t+rand));&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;     n     = N0*randn(1,N);&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;     vars(i) = var(s);&lt;br&gt;
&amp;gt; &amp;gt;     varn(i) = var(n);&lt;br&gt;
&amp;gt; &amp;gt;     SNR(i)  = var(s)/var(n);&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; end&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; summary = [Fs' vars' varn' SNR']&lt;br&gt;
&amp;gt; -----SNIP&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Exclude cases Fs &amp;lt; = 2*f0&lt;br&gt;
&amp;gt; meansummary = mean(summary(3:M,2:4))&lt;br&gt;
&amp;gt; stdsummary  = std(summary(3:M,,2:4))&lt;br&gt;
&amp;gt; &amp;gt; meanSNR = meansummary(3)&lt;br&gt;
&amp;gt; &amp;gt; stdSNR = stdsummary(3)&lt;br&gt;
&amp;gt; -----SNIP&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;  % Restricting to Fs &amp;gt; 2*f0.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Fs1 = Fs(3:M);&lt;br&gt;
&amp;gt; M1  = M-2&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; figure,hold on&lt;br&gt;
&amp;gt; plot(Fs1,SNR0*ones(1,M1),'k')&lt;br&gt;
&amp;gt; plot(Fs1,meanSNR*ones(1,M1),'r')&lt;br&gt;
&amp;gt; plot(Fs1,(meanSNR-stdSNR)*ones(1,M1),'r--')&lt;br&gt;
&amp;gt; plot(Fs1,(meanSNR+stdSNR)*ones(1,M1),'r--')&lt;br&gt;
&amp;gt; plot(Fs1,SNR(3:M))&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; axis([0 M*f0 0 20])&lt;br&gt;
&amp;gt; &amp;gt; xlabel('Sampling Frequency (Hz)')&lt;br&gt;
&amp;gt; &amp;gt; ylabel('Signal-to-Noise Ratio')&lt;br&gt;
&amp;gt; &amp;gt; title('SNR Estimate vs Sampling Frequency')&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Hope this helps.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Greg&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Hi, &lt;br&gt;
&lt;br&gt;
doesn't this basically mean, that there is no SNR improvement, when sampling frequency is increased?&lt;br&gt;
&lt;br&gt;
-Juho</description>
    </item>
    <item>
      <pubDate>Mon, 02 Nov 2009 07:59:04 -0500</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691412</link>
      <author>juho salminen</author>
      <description>Btw, thanks for all the effort!</description>
    </item>
    <item>
      <pubDate>Mon, 02 Nov 2009 12:01:10 -0500</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691462</link>
      <author>Greg Heath</author>
      <description>&lt;br&gt;
On Nov 2, 3:51 am, &quot;juho salminen&quot; &amp;lt;jssal...@cc.hut.fi&amp;gt; wrote:&lt;br&gt;
&amp;gt; Greg Heath &amp;lt;he...@alumni.brown.edu&amp;gt; wrote in message &amp;lt;d65291df-9d35-4375-abf6-1915e52fc...@m1g2000vbi.googlegroups.com&amp;gt;...&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; On Nov 1, 2:27 am, Greg Heath &amp;lt;he...@alumni.brown.edu&amp;gt; wrote:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; On Oct 30, 11:01 am, &quot;juho salminen&quot; &amp;lt;jssal...@cc.hut.fi&amp;gt; wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Hi,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I have done some tests with artificial sinusoidial data with white noise added on it. It seems, that the higher sampling frequency I have, the better is signal to noise ratio in FFT. With this I mean, that I take FFT with constant window length, let's say 500 samples. Signal itself is kept constant, let's say 30Hz.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Highter sampling frequency then, of course, reduces the time window size.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; This should simulate measurements of some sinusoid with  different sampling frequencies&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Do you know what would cause better SNG values, when sampling frequency increases?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; SNR is independent of Fs.&lt;br&gt;
&lt;br&gt;
-----SNIP (Revised code below)&lt;br&gt;
&lt;br&gt;
close all, clear all, clc&lt;br&gt;
&lt;br&gt;
f0   = 30&lt;br&gt;
N    = 500&lt;br&gt;
S0   = 5                 % Sinusoidal amplitude&lt;br&gt;
SNR0 = 15             % Signal-to-Noise Ratio&lt;br&gt;
M    = 100              % No. of trials&lt;br&gt;
&lt;br&gt;
Ps   = S0^2/2         % 12.5      Signal Power&lt;br&gt;
Pn   = Ps/SNR0      % 0.8333   Noise Power&lt;br&gt;
N0   = sqrt(Pn)       % S0/sqrt(2*SNR0) = 0.9129&lt;br&gt;
&lt;br&gt;
rand('state',0)&lt;br&gt;
randn('state',0)&lt;br&gt;
&lt;br&gt;
for i = 1:M&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fs(i) = f0*i;        % Sampling Frequency&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dt    = 1/Fs(i);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t     = dt*(0:N-1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s     = S0*cos(2*pi*(f0*t+rand));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n     = N0*randn(1,N);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vars(i) = var(s);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;varn(i) = var(n);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SNR(i)  = var(s)/var(n);&lt;br&gt;
&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
summary = [Fs' vars' varn' SNR'];&lt;br&gt;
&lt;br&gt;
% Restricting to Fs &amp;gt; 2*f0.&lt;br&gt;
&lt;br&gt;
meansummary = mean(summary(3:M,2:4))&lt;br&gt;
%  12.5174     0.8428   14.9103&lt;br&gt;
&lt;br&gt;
stdsummary  = std(summary(3:M,2:4))&lt;br&gt;
%  0.1117     0.0519    0.9746&lt;br&gt;
&lt;br&gt;
meanSNR = meansummary(3)&lt;br&gt;
stdSNR    = stdsummary(3)&lt;br&gt;
Fs1        = Fs(3:M);&lt;br&gt;
M1         = M-2&lt;br&gt;
&lt;br&gt;
figure,hold on&lt;br&gt;
plot(Fs1,SNR0*ones(1,M1),'k')&lt;br&gt;
plot(Fs1,SNR(3:M))&lt;br&gt;
plot(Fs1,meanSNR*ones(1,M1),'r')&lt;br&gt;
plot(Fs1,(meanSNR-stdSNR)*ones(1,M1),'r--')&lt;br&gt;
plot(Fs1,(meanSNR+stdSNR)*ones(1,M1),'r--')&lt;br&gt;
legend('True SNR','SNR Estimate',...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;['meanSNR = ',num2str(meanSNR)], ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;['stdSNR = ',num2str(stdSNR)],4)&lt;br&gt;
axis([0 M*f0 0 20])&lt;br&gt;
xlabel('Sampling Frequency (Hz)')&lt;br&gt;
ylabel('Signal-to-Noise Ratio')&lt;br&gt;
title('SNR Estimate vs Sampling Frequency')&lt;br&gt;
&lt;br&gt;
Hope this helps.&lt;br&gt;
&lt;br&gt;
Greg&lt;br&gt;
&lt;br&gt;
&amp;gt; Hi,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; doesn't this basically mean, that there is no SNR improvement, when sampling&lt;br&gt;
&amp;gt; frequency is increased?&lt;br&gt;
&lt;br&gt;
Yes. I repeat:&lt;br&gt;
&lt;br&gt;
&quot;SNR is independent of Fs&quot;&lt;br&gt;
&lt;br&gt;
The example indicates that Power based estimates of SNR are  ~14.9103&lt;br&gt;
+/- 0.9746&lt;br&gt;
independently of Fs, when the true value is SNR = 15.&lt;br&gt;
&lt;br&gt;
However, although your OP posed the question in terms of estimating&lt;br&gt;
SNR vs Fs, your&lt;br&gt;
followup post indicated that you are really interested in using the&lt;br&gt;
FFT to estimate the&lt;br&gt;
amplitude of a sine wave corrupted by noise.&lt;br&gt;
&lt;br&gt;
In the latter case the simulation in my next post shows that peak-&lt;br&gt;
picking FFT estimates&lt;br&gt;
of both the frequency and amplitude degrade as Fs increases.&lt;br&gt;
&lt;br&gt;
The basic reason appears to be that the FFT frequency spacing df = Fs/&lt;br&gt;
N increases&lt;br&gt;
as Fs increases with N = constant.&lt;br&gt;
&lt;br&gt;
Hope this helps.&lt;br&gt;
&lt;br&gt;
Greg</description>
    </item>
    <item>
      <pubDate>Mon, 02 Nov 2009 12:06:57 -0500</pubDate>
      <title>Re: Effect of sampling frequency for FFT</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264568#691463</link>
      <author>Greg Heath</author>
      <description>On Nov 1, 2:36&#160;am, Greg Heath &amp;lt;he...@alumni.brown.edu&amp;gt; wrote:&lt;br&gt;
&amp;gt; On Nov 1, 2:27&#160;am, Greg Heath &amp;lt;he...@alumni.brown.edu&amp;gt; wrote:&amp;gt; On Oct 30, 11:01&#160;am, &quot;juho salminen&quot; &amp;lt;jssal...@cc.hut.fi&amp;gt; wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Hi,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I have done some tests with artificial sinusoidial data with white noise added on it. It seems, that the higher sampling frequency I have, the better is signal to noise ratio in FFT. With this I mean, that I take FFT with constant window length, let's say 500 samples. Signal itself is kept constant, let's say 30Hz.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Highter sampling frequency then, of course, reduces the time window size.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; This should simulate measurements of some sinusoid with &#160;different sampling frequencies&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Do you know what would cause better SNG values, when sampling frequency increases?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; SNR is independent of Fs.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; -----SNIP&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Whoops. You mean SNR of the FFT.&lt;br&gt;
&amp;gt; I'll look at that now.&lt;br&gt;
&lt;br&gt;
Although your OP posed the question in terms of estimating SNR vs Fs,&lt;br&gt;
I&lt;br&gt;
interpret your above comments to mean that you are really interested&lt;br&gt;
in&lt;br&gt;
using the FFT to estimate the amplitude of a sine wave corrupted by&lt;br&gt;
noise.&lt;br&gt;
&lt;br&gt;
In the latter case the simulation below shows that peak-picking FFT&lt;br&gt;
estimates&lt;br&gt;
of both the frequency and amplitude degrade as Fs increases.&lt;br&gt;
&lt;br&gt;
The basic reason appears to be the FFT frequency spacing df = Fs/N&lt;br&gt;
increases&lt;br&gt;
as Fs increases with N = constant.&lt;br&gt;
&lt;br&gt;
close all, clear all, clc, k = 0&lt;br&gt;
&lt;br&gt;
f0   = 30&lt;br&gt;
N    = 500&lt;br&gt;
S0   = 5              % Sinusoidal amplitude&lt;br&gt;
SNR0 = 15             % Signal-to-Noise Ratio&lt;br&gt;
M    = 100            % No. of trials&lt;br&gt;
&lt;br&gt;
Ps   = S0^2/2         % 12.5      Signal Power&lt;br&gt;
Pn   = Ps/SNR0        % 0.8333   Noise Power&lt;br&gt;
N0   = sqrt(Pn)       % S0/sqrt(2*SNR0) = 0.9129&lt;br&gt;
&lt;br&gt;
rand('state',0)&lt;br&gt;
randn('state',0)&lt;br&gt;
&lt;br&gt;
for i = 1:M&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i      = i&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fs(i)  = f0*i;             % Sampling Frequency&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dt     = 1/Fs(i);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t      = dt*(0:N-1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s      = S0*cos(2*pi*(f0*t+rand));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n      = N0*randn(1,N);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;z      = s+n;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;meanz  = mean(z)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;check1 = meanz - mean(n)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;z      = z - mean(z);      % Exclude DC&lt;br&gt;
&lt;br&gt;
%     k = k+1,figure(k),hold on&lt;br&gt;
%     plot(t,s)&lt;br&gt;
%     plot(t,n,'g')&lt;br&gt;
%     plot(t,z,'r')&lt;br&gt;
%     xlabel('Time')&lt;br&gt;
%     ylabel('Signal and Noise')&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df     = Fs(i)/N;        % Frequency Resolution&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Q      = ceil((N+1)/2);   % No. unique points&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f      = df*(0:Q-1);      % One-sided spectrum&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Z      = fft(z-mean(z))/N ; % Aliased for Fs &amp;lt;= 2*f0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;absZ   = abs(Z);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PSD    = N*(absZ.^2);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;check2 =  sum(PSD)-sumsqr(z)&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;absZ1 = [absZ(1),sqrt(2)*absZ(2:Q-1),absZ(Q)];%Single Sided&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;check2 = max(abs(sum(absZ1.^2)-sum(absZ.^2)))&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[S(i) I(i)] = max(sqrt(2)*absZ1);  %Dominant Amplitude&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fmax(i)     = f(I(i));&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(i==1),k=k+1; figure(k), end&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;plot(f(1:Q),sqrt(2)*absZ1),hold on&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;plot(fmax(i),S(i),'or'),hold off&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xlim([0 60])&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xlabel('Frequency')&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ylabel('Amplitude')&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title(['Dominant Peak Estimate for Fs = ',num2str(Fs(i))])&lt;br&gt;
&amp;nbsp;end&lt;br&gt;
&lt;br&gt;
k=k+1; figure(k)&lt;br&gt;
subplot(2,1,1)&lt;br&gt;
plot(Fs(3:M),fmax(3:M))&lt;br&gt;
ylabel('Dominant Frequency')&lt;br&gt;
subplot(2,1,2)&lt;br&gt;
plot(Fs(3:M),S(3:M))&lt;br&gt;
xlabel('Sampling Frequency')&lt;br&gt;
ylabel('Peak Amplitude')&lt;br&gt;
&lt;br&gt;
Hope this helps.&lt;br&gt;
&lt;br&gt;
Greg</description>
    </item>
  </channel>
</rss>

