RickyChen

第 45 位会员
注册于 2020-05-17 12:45:35
活跃于 2020-09-23 16:25:16


GKFCCCCCCCCCCCCCCCCCCCCCC
最近话题
最新评论
  • fpga 读取 AD 数据 at 2020-08-12 16:33:31

    @飞 这个和spi flash读取数据是一样的,首先配置为读操作后,给起始地址位,9249就会按地址连续地返回8位数据。

  • fpga 读取 AD 数据 at 2020-08-12 16:23:44

    AD9249有SPI模式,用该连接方式会简单很多

    这个是对应芯片手册上的时序要求

    file

    基本只要按照芯片手册上的寄存器模式进行参数配置

    https://www.analog.com/media/en/technical-documentation/data-sheets/AD9249.pdf

    这个是AD9249的芯片手册,重点关注:9页+26页(时序余量),29~32页(参数配置说明)

  • 在安路 FPGA 开发板上移植 ARM Cortex-M0 内核 可以跑多少 MHz?? at 2020-07-21 13:29:52

    @刘崇硕
    因为当时没法发视频,就只能通过检测内核的方法展示。

    动图是50MHz频率下在anlog开发板下进行M0分部调试(开发板蓝色的灯)的演示

    file

    以及全速运行的演示

    file

    资源增加(假设原有资源消耗70%以上)理论上可以使它工作频率上升,或者添加时序约束也能提升它的工作频率,另外可能还有配套综合工具的影响。

  • 在安路 FPGA 开发板上移植 ARM Cortex-M0 内核 可以跑多少 MHz?? at 2020-07-14 16:00:22

    手边材料和设备有限,只能测试了一下典型的72MHz工作频率。经测试,在安路上能正常工作。如图所示:
    file

    file

    建议检查一下DesignStart版本号

    以及附上安路的移植示例:https://gitee.com/verimake/SparkRoad-V/tree/master/demo/13_EG4S20withM0

  • python 编程练习——平方取中法生成随机数 at 2020-05-18 09:29:09
    # -*- coding: UTF-8 -*-
    import numpy as np
    
    init_num = 2041
    bit_num = 4
    random_num = 1
    while random_num:
        random_num = init_num*init_num
        shift_num = int(random_num / np.power(10, int(bit_num/2)))
        bit1 = shift_num / np.power(10, bit_num)
        bit2 = int(bit1)
        random_num = int((bit1-bit2) * np.power(10, bit_num))
        init_num = random_num
        print(random_num)
    
  • python 编程练习——平方取中法生成随机数 at 2020-05-18 09:28:54

    另外一个想法是,将所需取中位数字的数进行小数点移位并强制整形,最后通过减法保留所需要的数值

  • python 编程练习——平方取中法生成随机数 at 2020-05-18 01:38:31
    # -*- coding: UTF-8 -*-
    def isolated(squ_num):
        squ_list = map(eval, str(squ_num))
        # print(squ_list)
        list_len = len(squ_list)
        # print(list_len)
        if (list_len % 2) != 0:
            squ_list.append(0)
    
        # print(squ_list)
        mid_list = []
        list_len = len(squ_list)
        mid_num = len(squ_list) / 2
        for x in range(mid_num - 2, mid_num + 2):
            mid_list.append(squ_list[x])
    
        # print(mid_list)
        cyc_num = int(''.join(map(str, mid_list)))
        print(cyc_num)
        return cyc_num
    
    initial_num = 2041
    times = 1
    cyc_num = isolated(initial_num * initial_num)
    
    while True:
        if cyc_num == 0:
            break
        else:
            cyc_num = isolated(cyc_num * cyc_num)
            times = times + 1
    
    print(times, 'random numbers')
    
  • python 编程练习——平方取中法生成随机数 at 2020-05-17 19:37:39

    我的想法是避免取余操作,以减少程序的计算复杂度,所以首先通过list.map实现平方后的值作为字符逐位存入一个list中;紧接着通过len()对平方后的位数进行奇偶判断,以决定是否需要补零;最后同样通过map的方法实现取出中位数据的拼接并强制整形。
    通过循环实现连续操作计算,最后得到所有的随机数以及个数。

  • python 编程练习——用 KMeans 聚类算法预测陶器年代 at 2020-05-17 13:11:06
    from sklearn.cluster import KMeans
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    fig = plt.figure()
    ax = Axes3D(fig)
    data = pd.DataFrame(pd.read_excel('chinese.xlsx'))
    # ax.scatter(data['全白'], data['波纹'], data['直线'], c='r')
    time = np.array(data[['全白', '波纹', '直线']])
    clf = KMeans(n_clusters=3)
    clf = clf.fit(time)
    clf.cluster_centers_
    data['label'] = clf.labels_
    data0 = data.loc[data['label'] == 0]
    data1 = data.loc[data['label'] == 1]
    data2 = data.loc[data['label'] == 2]
    ax.scatter(data0['全白'], data0['波纹'], data0['直线'], c='r')
    ax.scatter(data1['全白'], data1['波纹'], data1['直线'], c='b')
    ax.scatter(data2['全白'], data2['波纹'], data2['直线'], c='g')
    ax.legend()
    ax.set_xlim(0, 100)
    ax.set_ylim(0, 100)
    ax.set_zlim(0, 100)
    ax.set_xlabel('White')
    ax.set_ylabel('Wave')
    ax.set_zlabel('Line')
    plt.legend()
    plt.show()
    
    time = np.array(data0[['全白', '波纹', '直线']])
    clf = KMeans(n_clusters=3)
    clf = clf.fit(time)
    clf.cluster_centers_
    data0['label'] = clf.labels_
    print(data0)
    
  • python 编程练习——用 KMeans 聚类算法预测陶器年代 at 2020-05-17 13:10:38

    file

  • python 编程练习——用线性回归模型根据黄松的直径预测木料英尺数 at 2020-05-17 13:08:14

    file

  • python 编程练习——用线性回归模型根据黄松的直径预测木料英尺数 at 2020-05-17 13:07:29

    0.9534194398757392

    0.9755173917668096

    0.9767573373910827

  • python 编程练习——用线性回归模型根据黄松的直径预测木料英尺数 at 2020-05-17 12:55:16

    只是做了功能实现,没有注意编码风格,各位大佬轻拍

  • python 编程练习——用线性回归模型根据黄松的直径预测木料英尺数 at 2020-05-17 12:54:27
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn import linear_model
    from sklearn.linear_model import LinearRegression
    from sklearn.preprocessing import PolynomialFeatures
    from sklearn.model_selection import train_test_split
    
    def trance(raw_list):
        a = []
        for i in range(0, len(raw_list), 1):
            b = raw_list[i:i+1]
            a.append(b)
        return a
    
    data = pd.read_excel('rawdata.xlsx')
    X = data['直径']
    Y = data['木料']
    X = trance(X.tolist())
    Y = trance(Y.tolist())
    x = np.array(X)
    
    model = LinearRegression()
    model1 = model.fit(X, Y)
    b1 = model1.intercept_
    w1 = model1.coef_
    y1 = w1*X+b1
    plt.subplot(3, 1, 1)
    plt.scatter(X, Y, marker='o')
    plt.plot(X, y1, color='green')
    print(model.score(X, Y))
    
    x1 = np.power(x, 2)
    X1 = x1.tolist()
    model2 = model.fit(X1, Y)
    b2 = model2.intercept_
    w2 = model2.coef_
    y2 = w2*X1+b2
    plt.subplot(3, 1, 2)
    plt.scatter(X1, Y, marker='o')
    plt.plot(X1, y2, color='red')
    print(model.score(X1, Y))
    x1 = np.power(x, 3)
    X1 = x1.tolist()
    model2 = model.fit(X1, Y)
    b2 = model2.intercept_
    w2 = model2.coef_
    y3 = w2*X1+b2
    plt.subplot(3, 1, 3)
    plt.scatter(X1, Y, marker='o')
    plt.plot(X1, y3, color='black')
    print(model.score(X1, Y))
    plt.xlabel(' Diameter ')
    plt.ylabel(' Material area ')
    plt.legend()
    plt.show()