java实现FIR线性缓冲区
来源:互联网 发布:穆雅斓的淘宝店没有了 编辑:程序博客网 时间:2024/06/06 05:14
作者:sundroid
个人站点:sundroid.cn 邮箱: hfutsnjc@163.com 微博:http://weibo.com/Sundroid
package com.fir;import java.awt.Color;import java.awt.Font;import java.util.Random;import javax.swing.JPanel;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartPanel;import org.jfree.chart.ChartUtilities;import org.jfree.chart.JFreeChart;import org.jfree.chart.StandardChartTheme;import org.jfree.chart.axis.NumberAxis;import org.jfree.chart.plot.XYPlot;import org.jfree.chart.renderer.xy.XYSplineRenderer;import org.jfree.data.xy.XYDataset;import org.jfree.data.xy.XYSeries;import org.jfree.data.xy.XYSeriesCollection;import org.jfree.ui.ApplicationFrame;import org.jfree.ui.RectangleInsets;import org.jfree.ui.RefineryUtilities;public class FIR extends ApplicationFrame {/** * */private static final long serialVersionUID = 1L;static double y[] = new double[40];private XYDataset data1;public FIR(String title) {super(title);JPanel jpanel = createChartPanel1();add(jpanel);}private XYDataset createSampleData() {XYSeries xyseries = new XYSeries("");for (int i = 0; i < y.length; i++) {xyseries.add(i, y[i]);}XYSeriesCollection xyseriescollection = new XYSeriesCollection(xyseries);return xyseriescollection;}private ChartPanel createChartPanel1() {StandardChartTheme standardChartTheme = new StandardChartTheme("CN"); // 创建主题样式standardChartTheme.setExtraLargeFont(new Font("微软雅黑", Font.BOLD, 20)); // 设置标题字体standardChartTheme.setRegularFont(new Font("宋体", Font.PLAIN, 16)); // 设置图例的字体standardChartTheme.setLargeFont(new Font("宋体", Font.PLAIN, 16)); // 设置轴向的字体ChartFactory.setChartTheme(standardChartTheme); // 应用主题样式data1 = createSampleData();NumberAxis numberaxis = new NumberAxis("Y");numberaxis.setAutoRangeIncludesZero(false);NumberAxis numberaxis1 = new NumberAxis("X");numberaxis1.setAutoRangeIncludesZero(false);XYSplineRenderer xysplinerenderer = new XYSplineRenderer();XYPlot xyplot = new XYPlot(data1, numberaxis, numberaxis1,xysplinerenderer);xyplot.setBackgroundPaint(Color.lightGray);xyplot.setDomainGridlinePaint(Color.white);xyplot.setRangeGridlinePaint(Color.white);xyplot.setAxisOffset(new RectangleInsets(4D, 4D, 4D, 4D));JFreeChart jfreechart = new JFreeChart("线性缓冲区 ",JFreeChart.DEFAULT_TITLE_FONT, xyplot, true);ChartUtilities.applyCurrentTheme(jfreechart);ChartPanel chartpanel = new ChartPanel(jfreechart);return chartpanel;}public static void main(String[] agrs) {Random random = new Random();double x[] = new double[40];// int[] array = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };//// moveNum(array);// for (int i = 0; i < array.length; i++) {//// System.out.println("array" + array[i]);// }double c[] = { -7.0 / 10000, 3.0 / 10000, 14.0 / 10000, 10.0 / 10000,-16.0 / 10000, -38.0 / 10000, -8.0 / 10000, 64.0 / 10000,81.0 / 10000, -30.0 / 10000, -169.0 / 10000, -118.0 / 10000,162.0 / 10000, 353.0 / 10000, 83.0 / 10000, -515.0 / 10000,-689.0 / 10000, 247.0 / 10000, 2051.0 / 10000, 3523.0 / 10000,3523.0 / 10000, 2051.0 / 10000, 247.0 / 10000, -689.0 / 10000,-515.0 / 10000, 83.0 / 10000, 353.0 / 10000, 162.0 / 10000,-118.0 / 10000, -169.0 / 10000, -30.0 / 10000, 81.0 / 10000,64.0 / 10000, -8.0 / 10000, -38.0 / 10000, -16.0 / 10000,10.0 / 10000, 14.0 / 10000, 3.0 / 10000, -7.0 / 10000 };// for (int i = 0; i < c.length; i++) {// System.out.print("\n" + "C" + i + "--->" + c[i]);// }for (int i = 0; i < x.length; i++) {x[0]=1;x[i]=0;}for (int i = 0; i < x.length; i++) {System.out.print("\n" + "X" + i + "--->" + x[i]);}for (int i = 0; i < c.length; i++) {// 执行一次后再开始执行数组移位 if (i >= 1) { moveNum(x); System.out.println("\n数组第" + i + "次移位"); outNum(x); }// 直接开始用移位后的数组执行下面的算法//moveNum(x);//System.out.println("数组第" + i + "次移位");//outNum(x);for (int b = 0; b < c.length; b++) {y[i] += x[b] * c[40 - b - 1];}// System.out.println("\nRESULT[" + i + "]=" + y[i]);}FIR show = new FIR("线性缓冲区");show.pack();RefineryUtilities.centerFrameOnScreen(show);show.setVisible(true);// System.out.println("-----------" + y.length);}private static void moveNum(double[] n) {// 数组元素右移位double temp = n[n.length - 1];for (int i = n.length - 1; i > 0; i--) {n[i] = n[i - 1];}n[0] = temp;}private static void outNum(double[] n) {// 输出数组for (int i = 0; i < n.length; i++) {System.out.print("X" + i + "-----" + n[i]+"\n");}}}
0 0
- java实现FIR线性缓冲区
- Java IO 自己实现缓冲区
- C语言实现FIR
- 5.6 matlab实现 FIR
- FPGA实现FIR滤波器
- FIR滤波器的实现
- Java实现线性表
- java线性表实现
- java 实现线性表
- Java实现线性表
- 线性查找---JAVA实现
- 线性表java实现
- java实现线性表
- 5.1 线性相位FIR滤波器的特性
- 5.4 线性相位FIR的优化设计
- 使用MATLAB中的HDL coder工具箱,对一个线性调频信号进行FIR滤波,最终在FPGA上实现
- Java 内存数据存储缓冲区虚拟实现
- 环形缓冲区(JAVA数组实现)
- 3g人人后台java登陆(httpclient4.4+jsoup)-初版
- selenium-webdriver 使用WebDriverWait显示等待ajax交互
- Android系统开发中添加系统后门键
- jks密钥库容器操作 JKSUtilTest
- JUnit1
- java实现FIR线性缓冲区
- JKS和PKCS12密钥容器相互转换
- Makefile与shell脚本区别
- phonegap3+,https访问
- VC设置对话框背景图片 MFC显示背景图片方法
- tomcat 热加载
- Excel 中文拼音首字母
- 使用javascript制作俄罗斯方块游戏(2)
- 关于phonegap(cordova)跨平台app应用的环境配置