Thông báo

Collapse
No announcement yet.

Phát FSK chuẩn V23 bằng PIC 18F452 +DAC 12bit

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    Kết quả bên trên vẫn chưa SIN trơn. Cách thử như sau. Chuyển sang viết trên PC tạo thành 1 mảng data cho 1 byte cần phát ( ví dụ 55 F8) sau đó vẽ dạng tín hiệu vừ tạo ra. Kết quả vẫn còn bị gấp khúc tại điểm nối của 2 tần số.
    Mong các bạn chạy thử và cho ý kiến. MH dùng phần mềm audio ( cool edit) để vẽ dạng tín hiệu
    Anh Hà nhận xét thế là kô ổn, có thể anh dùng khác cách của 3T nhưng muốn bảo nó trơn hay kô phải chứng minh chứ. Tôi nghĩ hướng tiếp cận thế là chính xác.
    Vẫn biết mỗi lần xa là một lần về lại...

    Comment


    • #32
      Ngoài ra một số chỗ như khi thực thi ngắt timer2 về thay đổi bit(trước khi đọc z), thì ngắt timer1 tràn, có thể sinh ra sai lệch. Nhưng những chỗ đó ko khó.

      Comment


      • #33
        Nguyên văn bởi MinhHa
        Kết quả bên trên vẫn chưa SIN trơn. Cách thử như sau. Chuyển sang viết trên PC tạo thành 1 mảng data cho 1 byte cần phát ( ví dụ 55 F8) sau đó vẽ dạng tín hiệu vừ tạo ra. Kết quả vẫn còn bị gấp khúc tại điểm nối của 2 tần số.
        Mong các bạn chạy thử và cho ý kiến. MH dùng phần mềm audio ( cool edit) để vẽ dạng tín hiệu
        Hihi.. vậy
        -Cách tiếp cận, lời giải của anh có giống của em ko?
        -Anh đã chuyển được tất cả ý tưởng của em vào phần mềm đó chưa?
        -Phần mềm anh viết đã chuẩn chưa, ví dụ dùng 2 timer, đọc giá trị timer tại thời điểm chuyển bit...?
        -Anh chứng minh bằng lý thuyết cách giải của em sai thì em mới chấp nhận?

        Comment


        • #34
          Lý do: Giả sử tại tần số 1300Hz ( mình nhần với Bell 202. là 1200Hz) kết thúc tại góc 30 độ nhưng nếu lấy 30 độ là góc bắt đầu để tính cho tần số 2300 Hz là không ổn.Nó sẽ bị gãy khúc tại điểm này. Mà cần tính lại SIN (Kx 1300HZ + 30 độ ) = giá trị n nào đó. từ giá trị này suy ra ( tính ngược hay tra bảng) góc pha của 2300Hz ( lớn hơn 30 độ). Đó là góc pha bắt đầu cho tần số 2300Hz. Lời giải hoàn chỉnh chỉ cần viết và mô phỏng trên PC không cần cho PIC do vậy cỏ qua DAC nhưng giá trị tính vẫn là 12 bit và có dấu. Đầu vào chỉ cần 2 byte giá trị bất kỳ. Các bạ đưa ra đáp án và bảng kết quả. Có thể viết bằng C hay PASCAL trên PC. LCD12864 hay có thể chọn loại khác là RF MODULE
          Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

          Biến tần
          Máy giặt
          Lò vi sóng
          Bếp từ.
          Tủ lạnh.
          Điều hòa

          Comment


          • #35
            Hihi... anh MH nói đúng rồi, cách của em liên tục chứ ko trơn.
            Nhưng ko khó lắm. Tại điểm chuyển bit, ta tính đạo hàm trái tại điểm đó là x,---> đạo hàm phải chắc chắn sẽ là x. Từ giá trị x--> tra bảng ra phase của bit tiếp theo. Thực tế có thể làm 2 bảng tra ứng với 2 việc chuyển bit 0-->1 và 1-->0 giữa phase kết thúc và phase mới.
            Tóm lại là giải phương trình: liên tục và đạo hàm trái= đạo hàm phải tại điểm chuyển bit
            Cái này thì ko khó. Em chỉ đưa ra ý tưởng, vì nếu đưa ra đến lởigiai cuối cùng thì mất thời gian lắm. Nhưng em đã chứng minh từ từ

            Comment


            • #36
              Tại sao lại là sin(k*1300 + 30) hả bác ???
              Hiểu ý bác. Dùng cả arc sin nữa hả. Tội nghiệp PIC.
              Nhưng còn phải phát hiện cả hàm đang tăng hay giảm nữa nên có dính dáng đến đạo hàm.
              Cá nhân tẹo.
              Hộp thư của 3T đầy rồi xóa bớt thôi.
              Last edited by qmk; 22-02-2006, 11:27.
              Vẫn biết mỗi lần xa là một lần về lại...

              Comment


              • #37
                Bác Minh Hà xem lại đi. Nếu tính theo kiểu bình thường phải dùng chuyển sang đạo hàm và tính pha. Nó như thế này.
                F0/F1 cos(2.pi.F0.t) = cos(2.pi.F1.t + Pha)
                Tìm ra Pha chứ không phải tìm trên hàm sin.

                Tuy nhiên khi số hóa sử dụng cách tiếp cận của 3T là hoàn toàn chấp nhận được. Ngẫm nghĩ thử xem. Khổng phải lấy 30 độ làm pha tiếp theo như bác nói đâu.

                Đấy là kết quả vẽ thử so với mấy mẫu FSK thì thấy chấp nhận được. Tần số lấy mẫu là 8K trong hơi xấu.

                Chuỗi bit là 00100
                Last edited by qmk; 22-02-2006, 14:16.
                Vẫn biết mỗi lần xa là một lần về lại...

                Comment


                • #38
                  To anh qmk: em đã xóa bớt thư trong họp tin nhắn rồi.

                  Nếu dùng giải pháp dùng hai hình sin (cùng biên độ) ghép lại tại thời điểm chuyển bit để đảm bảo cùng 2 yếu tố: liên tục và trơn(đạo hàm 2 trái = phải) thì sẽ không tìm được lời giải bởi bài toán ko có nghiệm. Nếu cho hinh sin của 1300 và 2300 khác biên độ thì sẽ có lời giải. Nhưng khi đó nếu phát tỷ số bit 0 và 1 không đều nhau có thể sẽ sinh ra bão hòa biên độ...

                  Không hiểu anh MH có nhầm chỗ nào ko? để em tiếp tục giải?

                  Comment


                  • #39
                    Sin(k1*n1)=sin(k2*n2)
                    bằng nhau là vì tại một điểm chuyển tiếp
                    biết k1,k2,n1 rồi => n2 có hai nghiệm+với tính đạo hàm thì xác định được n2 rồi...
                    nếu tôi đọc chưa kỹ ... thì xin lỗi

                    Comment


                    • #40
                      em đọc bài của anh QMK có một thắc mắc sau:
                      Theo cách tính của anh: 360(1300/8000) và 360(2300/8000) tức là sẽ có độ phân giải về độ của một lần lấy mẫu (k=pha2-pha1 tại hai lần lấy mẫu sát nhau)
                      Nhưng n là độ phân giải về độ...của một chu kỳ FSK...
                      theo em cần xem lại phép nhân k*n của anh...n phải phù hợp với k thì ta mới tính được Sin của một điểm có k và n tương ứng.

                      Comment


                      • #41
                        Phép nhân đấy đúng thì mới nói đến chuyện tính đạo hàm và...
                        có khi lúc đấy anh mô phỏng mới ra sóng đẹp
                        còn như trên thì có lẽ là sóng sẽ không đẹp tại mỗi chu kỳ. và việc tính pha theo yêu cầu là ko được chính xác cho lắm...sẽ có sai số...mặc dù không lớn bằng lấy nguyền pha của sóng 1 dể bắt đầu sóng 2.
                        Nếu em nghĩ có gì sai thì các anh chỉ bảo dùm nhé.
                        Thân

                        Comment


                        • #42
                          Nguyên văn bởi tienvnu
                          em đọc bài của anh QMK có một thắc mắc sau:
                          Theo cách tính của anh: 360(1300/8000) và 360(2300/8000) tức là sẽ có độ phân giải về độ của một lần lấy mẫu (k=pha2-pha1 tại hai lần lấy mẫu sát nhau)
                          Nhưng n là độ phân giải về độ...của một chu kỳ FSK...
                          theo em cần xem lại phép nhân k*n của anh...n phải phù hợp với k thì ta mới tính được Sin của một điểm có k và n tương ứng.
                          Sóng đẹp hay không là do chương trình dùng phương pháp nội suy gì thôi.
                          Thực tế nêu muốn sóng đẹp thì cần mạch lọc thông dải phía ngoài nữa.

                          Anh không hiểu ý em nói độ phân giải về độ của một chu kỳ FSK là gì ?
                          Có lẽ cách viết làm lẫn lộn Sin[n] chỉ để tra bảng thôi. n đấy khác với n ở dưới. Sorry.
                          x(t) = sin(w.t)=sin(2.pi.(F/Fs).n)=sin(Wn)
                          n ở đấy chính là n.Ts [n = 0,1,2...] tức là thời gian lẫy mẫu rời rạc
                          có phải là:
                          Wn = Wn-1 + k (k = 2.pi.(F/Fs))
                          Wn không phải là Pha trong công thức sin(wt + Pha). Nên bác Hà xem lại chỗ này. Ở khi chuyển FSK hiệu chỉnh Wn để có pha kế tiếp. Có thể cách chỉnh này chưa hoàn toàn đúng như nó xấp xỉ ở giá trị chấp nhận được. Vì vậy em nói cách tiếp cận này OK thực tế người ta vẫn dùng cách này vì đơn giản trong tính toán.
                          Thường người ta sẽ tính toán tại điểm lấy mẫu vì tại đây tín hiệu thực sự được xuất ra.
                          Last edited by qmk; 23-02-2006, 14:42.
                          Vẫn biết mỗi lần xa là một lần về lại...

                          Comment


                          • #43
                            Sắp trao giải rồi. Bạn nào cho lời giải hoàn thiện trên C tạo ra file dât để TEST. Chắc cũng nhanh thôi. Cho phep sai số 1 chút nếu không sẽ vô nghiệm. Chỉ cần kết quả gần đúng. Bởi có nhiều lời giải của các bạn. Mình cần chương trình tạo ra file đó để chọn ra người nhận giải và như vậy sẽ có một đoạn chương trình hoàn thiện trong thư viện của diễn đàn dành cho các thành viên sau này.
                            Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                            Biến tần
                            Máy giặt
                            Lò vi sóng
                            Bếp từ.
                            Tủ lạnh.
                            Điều hòa

                            Comment


                            • #44
                              Nguyên văn bởi MinhHa
                              Sắp trao giải rồi. Bạn nào cho lời giải hoàn thiện trên C tạo ra file dât để TEST. Chắc cũng nhanh thôi. Cho phep sai số 1 chút nếu không sẽ vô nghiệm. Chỉ cần kết quả gần đúng. Bởi có nhiều lời giải của các bạn. Mình cần chương trình tạo ra file đó để chọn ra người nhận giải và như vậy sẽ có một đoạn chương trình hoàn thiện trong thư viện của diễn đàn dành cho các thành viên sau này.
                              Hihi.. vậy có 3 lời giải:
                              1-Liên tục, nhưng đạo hàm trái khác phải tại điểm chuyển bit(đã chứng minh)-->theo em tốt nhất
                              2-Đạo hàm trái và phải bằng nhau tại điểm chuyển bit---->tốt vừa
                              3-Thõa mãn 1 và 2 nhưng lại biên độ 2 hình sin khác nhau-->kém nhất.
                              Đề nghị anh MH công bố kết quả để em phản biện lại kết quả của anh. Hihi..
                              Còn việc post file C hoàn chỉnh thì rất ít người tham gia. Vì ở đây chỉ cần lời giải hay chứ ko cần lời giải đầy đủ

                              Comment


                              • #45
                                Vấn đề là PIC 18F452 nếu đạo hàm có đủ thời gian không? Nếu tra bảng thì bảng đó như thế nào? Cách tạo bảng......
                                Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                                Biến tần
                                Máy giặt
                                Lò vi sóng
                                Bếp từ.
                                Tủ lạnh.
                                Điều hòa

                                Comment

                                Về tác giả

                                Collapse

                                MinhHa Tìm hiểu thêm về MinhHa

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X