Package polyofdm

Source Code of polyofdm.CreateChartsPNG

package polyofdm;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import org.jfree.chart.JFreeChart;

import polyofdm.chart.ChartGenerator;
import polyofdm.matrixgen.Newton;
import polyofdm.matrixgen.OFDM;
import Jama.Matrix;

public class CreateChartsPNG {
  public static void main(String[] args) throws IOException {
    generatePolynomial(16, 4, 500, 400);
    generateOFDM(16, 4, 500, 400);
  }
  private static void generatePolynomial(int all, int missed, int width, int height) throws IOException {
    String titlePart1 = "Advanced PCC-OFDM";
    String titlePart2 = all + " carriers used, " + (all-missed) + " polynomials";
    String filename = "html/img/polynomial_" + all + "used_" + missed + "dropped_";
    Matrix matrix = Newton.generateMatrix(all, missed);

    writeChart(ChartGenerator.createChartFourier(matrix, titlePart1, titlePart2), new File(filename + "frequency.png"), width, height);
    writeChart(ChartGenerator.createChartReal(matrix,true, titlePart1, titlePart2), new File(filename + "real_sinus.png"), width, height);
    writeChart(ChartGenerator.createChartReal(matrix,false, titlePart1, titlePart2), new File(filename + "real_cosinus.png"), width, height);
    writeChart(ChartGenerator.createChartMaxAmp(matrix, titlePart1, titlePart2), new File(filename + "real_norm.png"), width, height);
//    writeChart(ChartGenerator.createChartSpektrum(matrix, true, false, titlePart1, titlePart2), new File(filename + "powerspectrum_near.png"), width, height);
//    writeChart(ChartGenerator.createChartSpektrum(matrix, true, true, titlePart1, titlePart2), new File(filename + "powerspectrum_near_onlyall.png"), width, height);
    writeChart(ChartGenerator.createChartSpektrum(matrix, false, false, titlePart1, titlePart2), new File(filename + "powerspectrum_far.png"), width, height);
    writeChart(ChartGenerator.createChartSpektrum(matrix, false, true, titlePart1, titlePart2), new File(filename + "powerspectrum_far_onlyall.png"), width, height);
  }
 
  private static void generateOFDM(int all, int missed, int width, int height) throws IOException {
    String titlePart1 = "Rectangle-OFDM";
    String titlePart2 = (all-missed) + " carriers";
    String filename = "html/img/ofdm_" + (all-missed) + "carriers_";
    Matrix matrix = OFDM.generateMatrix(all,missed);

    writeChart(ChartGenerator.createChartFourier(matrix, titlePart1, titlePart2), new File(filename + "frequency.png"), width, height);
    writeChart(ChartGenerator.createChartReal(matrix,true, titlePart1, titlePart2), new File(filename + "real_sinus.png"), width, height);
    writeChart(ChartGenerator.createChartReal(matrix,false, titlePart1, titlePart2), new File(filename + "real_cosinus.png"), width, height);
    writeChart(ChartGenerator.createChartMaxAmp(matrix, titlePart1, titlePart2), new File(filename + "real_norm.png"), width, height);
//    writeChart(ChartGenerator.createChartSpektrum(matrix, true, false, titlePart1, titlePart2), new File(filename + "powerspectrum_near.png"), width, height);
//    writeChart(ChartGenerator.createChartSpektrum(matrix, true, true, titlePart1, titlePart2), new File(filename + "powerspectrum_near_onlyall.png"), width, height);
    writeChart(ChartGenerator.createChartSpektrum(matrix, false, false, titlePart1, titlePart2), new File(filename + "powerspectrum_far.png"), width, height);
    writeChart(ChartGenerator.createChartSpektrum(matrix, false, true, titlePart1, titlePart2), new File(filename + "powerspectrum_far_onlyall.png"), width, height);
  }

  private static void writeChart(JFreeChart chart, File out,
      int width, int height) throws IOException {
    BufferedImage img = chart.createBufferedImage(width, height);
    ImageIO.write(img, "png", out);
  }


}
TOP

Related Classes of polyofdm.CreateChartsPNG

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.