# Example 8.2.4 Periodogram of White Noise.

## Workspace Initialization.

```clc; clear; close all;
```

## Signal Definition

```N = [64 128 256 512];

NumOfRuns = 50;    % Number of periodograms to be calculated for every different data record.
PerLength = 2048;  % This is the fft length used to calculate the periodogram.
freq = 0:2/(PerLength-1):2;
h1 = figure('NumberTitle', 'off','Name', ...
'Figure 8.9 The Periodogram of unit Variance White Gaussian Noise',...
'Visible','off','Position', [100 0 800 800]);

for m=1:length(N)
```
```    Px = zeros(NumOfRuns,PerLength);
for k=1:NumOfRuns
x = randn(1,N(m));
Px(k,:) = per(x,PerLength);
end
subplot(4,2,2*m-1)
plot(freq(1:PerLength/2),10*log10(Px(:,1:PerLength/2)),'k','LineWidth',0.1)
title(['Overlay plot of ',num2str(NumOfRuns),' periodograms using ',num2str(N(m)),' data samples'])
grid on;
axis tight;
ylim([-40 20])
% xlabel('Frequency (units of pi)');
```

## Plot the Periodograms.

```    subplot(4,2,2*m)
plot(freq(1:PerLength/2),1/NumOfRuns*sum(10*log10(Px(:,1:PerLength/2))),'r','LineWidth',1)
title(['Average of ',num2str(NumOfRuns),' periodograms using ',num2str(N(m)),' data samples'])
axis tight;
ylim([-30 10])
grid on;
```
```end

% Restore the visibility of the figure.
set(h1, 'Visible','on');
```